2
所以,我發現了一些你不需要解析的關於JQuery的類似問題。由於我使用AJAX XMLHttpRequest,據我所知,解析是必要的。上線時給出的錯誤:Javascript - JSON.parse:意外的數據結束 - 使用有效的JSON時出錯。我究竟做錯了什麼?
text = JSON.parse(jsonGet.responseText);
錯誤:
JSON.parse: unexpected end of data
text = JSON.parse(jsonGet.responseText);
功能的相關部分:
function populateList(){
//retrieves list from the server, adds it to the option box
if(toggle == 0){
var jsonGet = new XMLHttpRequest();
jsonGet.open("GET","./json/GetAllEvents.php",true);
jsonGet.onreadystatechange = function() {
text = JSON.parse(jsonGet.responseText); //ERROR HERE
//updating html with data received
};
jsonGet.send();
toggle = 1;
} else {}
};
的JSON返回看起來像這樣(不換行):
{"success":true,
"number_of_rows":2,
"data":[
{"id":"7","event_name":null,"day":3,"start_time":510,"end_time":617},
{"id":"8","event_name":null,"day":1,"start_time":510,"end_time":617}
]}
JSONLint表示上述內容有效。我想我會看看XMLHttpRequest是否有什麼奇怪的事情。 Firefox繼續運行(即使螢火蟲顯示錯誤),但IE9停止在這一點上。
我很難過。任何幫助表示讚賞。
真棒,jsonGet.readyState == 4擺脫了錯誤。在中添加狀態會導致它不執行。我使用.json文件測試的狀態爲0.感謝您的幫助。 – douggard 2012-02-17 01:34:19
使用實際的.php文件給出狀態200.再次感謝! – douggard 2012-02-17 01:38:50
太棒了!零狀態可能與您的網絡服務器與.json文件相關。 – bfavaretto 2012-02-17 01:46:06