所以,我找到了一些关于JQuery的类似问题,其中不需要解析。因为我使用的是AJAX XMLHttpRequest,据我所知,解析是必要的。错误出现在以下行中:
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是否有任何奇怪的地方。虽然Firebug显示错误,但Firefox仍然可以正常运行,但IE9在此处停止。
我很困惑。任何帮助都将不胜感激。