Javascript 调试jqueryajax响应:什么是I';我做错了?
第一个警报给出:Javascript 调试jqueryajax响应:什么是I';我做错了?,javascript,jquery,ajax,debugging,json,Javascript,Jquery,Ajax,Debugging,Json,第一个警报给出:{“id”:“2”,“success”:true},但第二个警报给出:未定义您需要将预期返回的数据类型指定为JSON: $.ajax({ type: 'POST', url: 'place/add', data: { lat: lat, lng: lng, name: name, address: address, phone: phone, review: r
{“id”:“2”,“success”:true}
,但第二个警报给出:未定义
您需要将预期返回的数据类型指定为JSON:
$.ajax({
type: 'POST',
url: 'place/add',
data: {
lat: lat,
lng: lng,
name: name,
address: address,
phone: phone,
review: review,
category: category
},
success: function(data) {
alert(data);
alert(data.id);
// ......
});
您必须指定
dataType:'json'
或eval自己返回的数据,如var data=eval('(function(){return'+data+')())代码>
顺便说一句,信任jQuery-如果可以,请使用数据类型:“json”
。如果您运行多个ajax调用,一个特别有用的补充是$.ajaxSetup
$.ajax({
type: 'POST',
dataType: 'json', // specifies the return type
url: 'place/add',
data: {
lat: lat,
lng: lng,
name: name,
address: address,
phone: phone,
review: review,
category: category
},
success: function(data) {
alert(data);
alert(data.id);
// ......
}
});
任何后续的ajax调用都将使用这些作为默认值。其他有效的返回类型包括xml、html、脚本、jsonp和文本。默认返回类型是html或xml,因此最好指定所需的返回类型以避免开销。
$.ajaxSetup({
type: 'post',
dataType: 'json'
});