在 Google Chrome 中加载我的页面时,我在控制台中收到一个模糊的错误:
未捕获的 SyntaxError:输入意外结束
我不知道是什么原因造成的。我将如何调试此错误?
这个特殊错误是关于v8的一个令人讨厌的事实。在大多数情况下,您的 JavaScript 以某种方式被破坏了。例如缺少一个}或类似的东西。
}
给出的示例,这也会产生“意外的输入结束”:
eval('[{"test": 4}') // notice the missing ]
但问题的根本原因似乎是请求的 JSON url 有一个 Content-Type ,text/htmlChrome 显然试图将其解析为 HTML,然后由于包含的图像标签正在被包含的事实导致输入意外结束解析。
text/html
尝试将 Content-Type 设置为text/plain我认为它应该可以解决问题。
text/plain
尽管如此,V8 可以做得更好,告诉人们输入意外结束的确切 位置。