当前位置: 首页 > 面试题库 >

Javascript-JSON.parse:数据意外结束-使用有效JSON时出错。我究竟做错了什么?

沈开畅
2023-03-14
问题内容

因此,我发现了有关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是否做任何奇怪的事情。Firefox继续运行(即使firebug显示错误),IE9仍在此时停止。

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


问题答案:

您必须jsonGet.readyState==4 && jsonGet.status==200在解析响应之前检查是否。



 类似资料:
  • 问题内容: 我有一些代码来计算圆的属性: 它计算周长,但不计算其余部分。 问题答案: 是一个,也一个,这意味着不能在第二个打印语句中使用。试试那里。 回想一下,这是浮点数,而整数。在的文档中对此进行了概述(请参阅“ 格式化字符串语法”)。

  • 问题内容: 因此,我试图掌握在Android中使用自定义控件的方法。但是我的应用在尝试创建活动时崩溃。这是代码: 这是布局xml: 问题答案: 您将需要实现以下构造函数: 例如,尝试执行以下操作: 您将在logcat中获得以下内容: 因此要将这些XML属性传递给Super类(EditText),您必须重写这些构造函数。 希望对您有所帮助。

  • 我正在尝试在Go API服务器和基于React的前端之间发送JSON。我得到以下错误: 错误:SyntaxError:JSON输入意外结束 它说这发生在第25行,这是 这是相关的函数: 在尝试了一些故障排除之后,我将错误捕捉添加到带有“成功”和“错误”输出的函数中,这样它至少可以停止弹出错误页面,并在API服务器上添加一些控制台输出,以查看数据是否正在传递。 除了出现错误之外,一切似乎都在按预期运

  • 我试图使用下面的代码从一个api网站获取一个JSON文件,但是当我使用下面的代码获取时,我得到一个错误,说“JSON输入意外结束”

  • 问题内容: 我收到此错误: JSON.parse:意外字符 当我在firebug中运行以下语句时: 为什么会这样呢?JSON字符串对我来说似乎是正确的,我也使用JSHint对其进行了测试。在上述情况下,传递的对象是服务器响应,其内容类型设置为 问题答案: 您不是在解析字符串,而是在解析一个已经解析的对象:)

  • 问题内容: 尝试解析此JSON字符串时出现错误 扩展的字符串对象: 问题答案: 验证您的json字符串。如果可以,请尝试以下操作: