如何解决Javascript-JSON.parse:数据意外结束-使用有效JSON时出错我究竟做错了什么?
您必须jsonGet.readyState==4 && jsonGet.status==200
在解析响应之前检查是否。
解决方法
因此,我发现了有关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","day":1,"end_time":617}
]}
JSONLint表示以上内容有效。我想我将看看XMLHttpRequest是否做任何奇怪的事情。Firefox继续运行(即使firebug显示错误),IE9仍在此时停止。
我很沮丧。任何帮助表示赞赏。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。