2013-02-10 62 views
1

我在做一个AJAX调用就像这样:JSON parseerror返回从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); 
    } 
}); 
} 

在我开发的日历应用程序的初始化其中一期工程。我创建一个对象“信息”并为其指定月份/日期等......然后当用户按下“上一个”或“下一个”时,它会重新分配“信息”对象的某些变量并再次调用getEvents。我试图重写我的查询,重写我的AJAX调用,添加contentType ...似乎没有任何工作。

+0

你检查,而重新分配信息对象的值,它包含什么值,什么是结果的值?使用控制台检查这些值。 – 2013-02-10 16:04:55

+0

是的,在我将它们发送给AJAX调用之前,我确认了JavaScript对象'info'包含正确的值(它的作用)。 – Jish 2013-02-11 16:20:15

回答

1

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

如何检查?

做一件事。从您的通话$.ajax()success处理程序删除dataType:'json',属性... console.log(result) ... 复制从控制台响应文本,并将其粘贴一些网上JSON验证器内(jsonlint.com),如果有错,在服务器端更新get_all_events.phpechovalid JSON

+0

梦幻般的想法,今晚我会试试这个。如果情况并非如此,我将设置我的调试模式,并在我的问题更新中释放链接。谢谢你的建议。 – Jish 2013-02-11 16:21:12