一部のデータをhttpコネクタに投稿しようとしていますが、配列データを投稿する方法がわかりません...
私のデータはそのように見えます:
var data = [{
key:'myKey',
keyName:'myKeyName',
value:'value',
valueName:'valueName'
}, {
key:'mySecondKey',
keyName:'mySecondKeyName',
value:'secondValue',
valueName:'secondValueName'
}, ...and so on ];
私は次のようにAjax経由で投稿しようとします:
$.ajax({
type: "POST",
url: url,
data: data,
error: function(){
alert("Error");
},
success: function(){
alert("OK");
}
});
リクエストはOKを返しますが、リクエストデータを見るとundefined=value&undefined=secondValue
がポストされます
どうすればこれを解決できますか?構成のためにこれらすべての情報を保存する必要があります
key=value&key2=value2
のようないくつかのキーと値のみを含む単純な投稿は、魅力のように機能します。
POST JSONペイロードを使用したリクエストを作成していることを前提としています。最初に、ペイロードが正しくフォーマットされたJSONであることを確認するには、次のように使用します http:// pro .jsonlint.com /
次に、JSON.stringifyを使用してペイロードを送信し、contentTypeを設定します。
data:JSON.stringify(data)、contentType: "application/json; charset = utf-8"
これを実行してChromeのDev Toolsのネットワークタブを見ると、エラーになりますが、少なくともサーバーに送信するようにフォーマットされたペイロードが表示されます。 http://prntscr.com/f8hf6s
var data = [{
"key": "myKey",
"keyName": "myKeyName",
"value": "value",
"valueName": "valueName"
},
{
"key": "mySecondKey",
"keyName": "mySecondKeyName",
"value": "secondValue",
"valueName": "secondValueName"
}
];
var url = "http://swapi.co/api/";
$.ajax({
type: "POST",
url: url,
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json",
error: function() {
alert("Error");
},
success: function() {
alert("OK");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>