【问题标题】:VM[number] file causes Uncaught SyntaxError: Unexpected identifierVM[number] 文件导致 Uncaught SyntaxError: Unexpected identifier
【发布时间】:2015-12-30 07:45:22
【问题描述】:

我有来自文件VM3154:1Uncaught SyntaxError: Unexpected identifier
使用 Parse 用户登录后出现错误。 我尝试在我的服务器中找到该文件,但找不到该文件。这个文件只有一行代码:

[object Object]

有人知道这个文件是什么吗?它有什么作用?

每次我使用 Parse User 功能登录时,数字都会增加一个。

我的网站使用 jQuery、AngularJS、Parse 和 Bootstrap。

【问题讨论】:

  • 您在哪里看到此错误:在浏览器控制台或您的应用程序日志中?
  • 我在浏览器控制台中看到了这个。
  • 你能粘贴完整的控制台错误吗?
  • [DATETIME] Uncaught SyntaxError: Unexpected identifier VM3154:1
  • 没有任何代码,我只能建议将您包含在此页面中的efile注释掉,看看这个错误何时会消失。

标签: javascript jquery angularjs twitter-bootstrap parsing


【解决方案1】:

当需要回调函数但代码返回的是对象时,可能会发生这种情况。我的具体情况是newfunction 传递给setTimeout 之前,我只是因为这个答案才弄清楚:https://stackoverflow.com/a/31502293(Firefox 版:https://stackoverflow.com/a/20218837

setTimeout 期望第一个参数是一个函数

注意:当 JSON 中缺少引号导致逗号被视为前面字符串的一部分时,有时会发生此错误,例如:['test1,'test2']

Example.html 重现:

<script>
setTimeout(new function() { document.write('test') },0);
</script>

不要点击右侧的VM61:1(数字自动递增)链接,而是点击左侧错误图标和Uncaught SyntaxError之间的灰色下拉箭头/图标显示调用堆栈并单击列表中的第一个链接(请参阅下面的截屏视频)。

这将使调用堆栈向上跳一帧,并且通常会突出显示发生错误的整行。它不会查明错误的确切位置,但会在此处仔细查看在预期回调函数时可能返回对象的任何内容。

删除new,错误消失!

附言。此错误在 Internet Explorer 10 中出现(除非它在兼容模式下运行)

SCRIPT1007: Expected ']'
example.html, line 1 character 9

在 Firefox 56 中

SyntaxError: missing ] after element list[Learn More]  example.html:2:8
猜你喜欢
  • 2018-07-03
  • 1970-01-01
  • 1970-01-01
  • 2019-03-18
  • 2017-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多