私はAJAXに取り組んでいます。次のような投稿リクエストを作成します。
$.ajax({
'url':'http://localhost/api/create/',
'method':'POST',
'dataType': 'json',
'contentType': 'application/json',
'data':{
"refId":585,
"phone":"0674444444"
},
'success': getHandlingStatus
});
リクエストが実行されると、データはJSONデータとしてではなく、リクエストペイロードのパラメーターとして渡されます。リクエストペイロードは次のとおりです。
refId=585&phone=0674444444
次のようなjson形式でデータを送信したい:
{
"refId":"585",
"phone:"0674444444"
}
何が足りないのですか?
JSONにデータをJSONに変換し、ProcessDataオプションをfalseに設定するには、JSON.stringifyを使用する必要があります。 jqueryのドキュメントによると:
デフォルトでは、オブジェクト(技術的には文字列以外)としてデータオプションに渡されたデータは処理され、デフォルトのコンテンツタイプ「application/x-www-form-urlencoded」に適合するクエリ文字列に変換されます。 。 DOMDocumentまたは他の未処理データを送信する場合は、このオプションをfalseに設定します。
$.ajax({
'url':'http://localhost/api/create/',
'method':'POST',
'dataType': 'json',
processData: false,
'contentType': 'application/json',
'data':JSON.stringify({
"refId":585,
"phone":"0674444444"
}),
'success': getHandlingStatus
});
JSON.stringify()
を使用して、データをJSON
形式に変換する必要があります。 ドキュメント を参照してください。
$.ajax({
'url':'http://localhost/api/create/',
'method':'POST',
'dataType': 'json',
'contentType': 'application/json',
'data':JSON.stringify({
"refId":585,
"phone":"0674444444"
}),
'success': getHandlingStatus
});
Have you tried the following
$ .ajax({ 'url': 'http:// localhost/api/create /'、 'method': 'POST'、 'dataType': 'json'、 'contentType': 'application/json'、 'data':JSON.stringify({ "refId":585、 "phone": "0674444444" })、 'processData':false、 'success':getHandlingStatus } );
processData:falseの後にコンマがありませんでした