我正在使用自动生成ajax和Postman 3,所以你可以判断它是否是正确的方法,但这不是我的主要问题。现在,当我像这样输入“数据”字段时,它可以正常工作
var settings = {
"async": true,
"crossDomain": true,
"url": "https://baas.kinvey.com/appdata/kid_B1BHxEN7/people/",
"method": "POST",
"headers": {
"authorization": "Basic Z2VzaGE6MTIzNA==",
"content-type": "application/json",
"cache-control": "no-cache",
"postman-token": "8de908df-f970-524c-eb8b-d2f7f621a3ac"
},
"processData": false,
"data": "{\"name\":\"Peter\",\"id\":11}"
}
$.ajax(settings).done(function (response) {
console.log(response);
});
现在我的问题是,如何将自定义参数放在“数据”字段中。 我想要这样的东西
var arr = [{"name": "Peter", "id": 12}, {"name": "Demeter", "id": 15}];
var settings = {
"async": true,
"crossDomain": true,
"url": "https://baas.kinvey.com/appdata/kid_B1BHxEN7/people/",
"method": "POST",
"headers": {
"authorization": "Basic Z2VzaGE6MTIzNA==",
"content-type": "application/json",
"cache-control": "no-cache",
"postman-token": "e37d3063-406d-02c3-803f-0f32666b9d70"
},
"processData": false,
data: {"name": arr[0].name, "id": arr[0].id}
}
$.ajax(settings).done(function (response) {
console.log(response);
});
当我发送此POST请求时,它会返回 400(错误请求)
答案 0 :(得分:2)
jQuery不会将您的请求格式化为JSON,而只将其格式化为数据URL。你必须自己做这件事:
data: JSON.stringify({"name": arr[0].name, "id": arr[0].id})
答案 1 :(得分:1)
您需要使用JSON
将字符串转换为stringify
格式。以下是解释链接:
JSON.stringify()方法将JavaScript值转换为JSON字符串,如果指定了replacer函数,则可以选择替换值,或者如果指定了replacer数组,则可选地仅包括指定的属性。 / EM> 强>
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify