Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调试jqueryajax响应:什么是I';我做错了?_Javascript_Jquery_Ajax_Debugging_Json - Fatal编程技术网

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'
});