Javascript AJAX POST,与“存在问题”;“数据”;领域
我正在使用自动生成的ajax和Postman 3,因此您可以判断这是否是正确的方法,但这不是我的主要问题。现在,当我像这样键入“data”字段时,它就工作了Javascript AJAX POST,与“存在问题”;“数据”;领域,javascript,ajax,post,Javascript,Ajax,Post,我正在使用自动生成的ajax和Postman 3,因此您可以判断这是否是正确的方法,但这不是我的主要问题。现在,当我像这样键入“data”字段时,它就工作了 var settings = { "async": true, "crossDomain": true, "url": "https://baas.kinvey.com/appdata/kid_B1BHxEN7/people/", "method": "POST", "headers": { "authoriza
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(错误请求)jQuery不会将您的请求格式化为JSON,而只将其格式化为数据url。你必须自己做这件事:
data: JSON.stringify({"name": arr[0].name, "id": arr[0].id})
您需要使用
stringify
将字符串转换为JSON
格式。以下是解释的链接:
JSON.stringify()方法将JavaScript值转换为JSON字符串,如果指定了替换函数,则可以选择替换值;如果指定了替换数组,则可以选择仅包含指定的属性。
删除键中的引号,如
url
和method
,这样它就可以工作了,在几分钟内我被允许的时候,它会给你最好的答案。但我还有一个问题。为什么有些人用引号写AJAX键,而有些人不这样做?有什么区别。我的意思是“url”或者仅仅是url,因为JSON需要引号,JavaScript不需要。谢谢,但是为什么有些人用引号编写AJAX键,而有些人不用引号呢?有什么区别。我的意思是“url”或只是URT引号没有什么区别,除非您想使用一个不是有效JavaScript标识符的键。