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