从AJAX返回JSON parseerror

时间:2013-02-10 15:50:52

标签: php jquery ajax json

我正在做一个像这样的AJAX调用:

function getEvents(info){
  $.ajax({
    url: 'get_all_events.php',
    data: {year: info['year'],month: info['month']},          
    type: 'POST',
    dataType: 'json',
    success: function (result) {
        alert(JSON.stringify(result));
    },
    error: function(XMLHttpRequest, textStatus, errorThrown) {
        console.log(XMLHttpRequest.statusText);
        console.log(textStatus);
        console.log(errorThrown);
    }
});
}

这适用于我正在开发的日历应用程序的初始化。我创建一个对象'info'并为其指定月/日等...然后当用户按下'Previous'或'Next'时,它会重新分配'info'对象的某些变量并再次调用getEvents。我尝试重写我的查询,重写我的AJAX调用,添加contentType ......似乎没什么用。

1 个答案:

答案 0 :(得分:1)

查看控制台中是否有任何错误。另外请确保您的get_all_events.php返回valid JSON字符串。当您指定dataType:'json'时,jQuery将自动解析返回的数据。如果返回的数据不是valid JSON,则抛出此错误。

如何检查?

做一件事。从dataType:'json',来电中删除$.ajax()属性... console.log(result)处理程序中的success ... 从控制台复制响应文本并将其粘贴到一些在线JSON验证器(jsonlint.com)中,如果有错误,请将服务器端的get_all_events.php更新为echo valid JSON