2013-02-10 141 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