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仍在此时停止。

我很沮丧。任何帮助表示赞赏。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...