好吧,故事是这样的:
我有一些数据需要发送到服务器,但他们应该首先转换成JSON dataType。
我做了这样的ajax调用:
$.ajax({
url: url, // the url I want to post to.
type: 'POST',
contenttype:'application/json; charset=utf-8',
beforeSend: //some HTTP basic auth stuff
data: {
name:'test',
key:'foo',
key2:'bar'
},
dataType:'JSON'
});
基本上我期望我发送到服务器的数据是:
[name:test,key:foo,key2:bar]
但我得到的是:
name=test&key=foo&key2=bar
我错过了什么?如何将这些数据导入JSON?
发布于 2013-01-04 18:57:00
var data = {'bob':'foo','paul':'dog'};
$.ajax({
url: url,
type: 'POST',
contentType:'application/json',
data: JSON.stringify(data),
dataType:'json'
});
/**添加了**/
上面的代码不会对来自服务器的响应做任何事情,如果你需要做一些事情,那么当服务器响应时,会调用一个回调函数。
var data = {'bob':'foo','paul':'dog'};
$.ajax({
url: url,
type: 'POST',
contentType:'application/json',
data: JSON.stringify(data),
dataType:'json',
success: function(data){
//On ajax success do this
alert(data);
},
error: function(xhr, ajaxOptions, thrownError) {
//On error do this
if (xhr.status == 200) {
alert(ajaxOptions);
}
else {
alert(xhr.status);
alert(thrownError);
}
}
});
发布于 2011-06-07 19:08:35
我也遇到过同样的问题。你不能把一个对象作为"data“发送,你需要把这个对象串起来。改为尝试此操作,并将您的对象字符串化:
$.ajax({
url: url,
type: 'POST',
contentType:'application/json',
data: '{
name:"test",
key:"foo",
key2:"bar"
}',
dataType:'json'
});
发布于 2014-01-21 21:12:28
试试这个:http://www.abeautifulsite.net/blog/2008/05/postjson-for-jquery/
它要短得多:
$.post(url, data, function(response) {
// Do something with the response
}, 'json');
https://stackoverflow.com/questions/4342926
复制相似问题