Chrome:未捕获SyntaxError:意外的输入结束

在谷歌浏览器中加载我的网页时,我在控制台中发现一个模糊的错误:

未捕获的SyntaxError:意外的输入结束

我不知道是什么导致它。 我将如何去调试这个错误?


这个特殊的错误是关于V8的一个恼人的事实。 在大多数情况下,JavaScript会以某种方式被破坏。 例如,缺少一个}或类似的东西。

给出的例子,这也会产生“意外的输入结束”:

eval('[{"test": 4}') // notice the missing ]

但问题的根源似乎是所请求的JSON url具有text/html内容类型 ,Chrome显然试图将其解析为HTML,然后导致意外的输入结束,因为包含的图像标签正在被解析。

尝试将Content-Type设置为text/plain我认为它应该解决这些问题。

尽管如此,V8可以做得更好,可以告诉一个确切的输入意外结束的地方


尝试Mozilla的Firebug - 它会显示失踪的位置}

http://getfirebug.com/


在另一个类似问题上查看我的案例:

在我的情况下,我试图解析一个空的JSON:

JSON.parse(stringifiedJSON);

换句话说,发生了以下事情:

JSON.parse("");
链接地址: http://www.djcxy.com/p/45973.html

上一篇: Chrome: Uncaught SyntaxError: Unexpected end of input

下一篇: How do you properly and reliably load JSON data cross