2015-04-05 134 views
1

有没有人有任何想法如何解决此错误?未捕获的SyntaxError:意外的令牌M

谷歌devt工具不能确定错误代码的位置,这使得它很难排除故障。

我目前在Meteor和MongoDB上。 我搜索了意想不到的令牌,Theres A,N,C但M并不常见。

我读过的是它可能是服务器注释问题,因为它添加了随机字母和不可识别的脚本。

有什么建议吗?

The problem as shown by dev tools

+0

你有一个'M',那里不应该是'M'。这个错误并不是关于角色的,它可以是任何角色,只是角色位于它不应该存在的地方。 – adeneo 2015-04-05 16:37:27

+1

无法看到错误来自何处,而无法看到代码,但由于提供给'JSON.parse()'方法的字符串中存在非法令牌,因此经常会发生“意外令牌...”错误。 – 2015-04-05 16:46:20

+0

@Marco Bonelli - 你是对的,这是JSON.parse,这是抱怨 – mwarren 2015-04-05 17:46:54

回答

3

我有完全相同的问题,并且它的发生在NG-inspector.js线1472在JSON.parse(EVENTDATA);

原因估计是event.data是抱着某种setImmediate字符串(以字母“M”开头) - “Meteor._setImmediate.0.5014774943701923.5”

以下是五大行NG-inspector.js领导到JSON.parse()来:

window.addEventListener('message', function (event) { 

// Ensure the message was sent by this origin 
if (event.origin !== window.location.origin) return; 

var eventData = event.data; 
if (!eventData || typeof eventData !== 'string') return; 
eventData = JSON.parse(eventData); 

调试器显示了这个东西,在事件对象:

event = MessageEvent {data: "Meteor._setImmediate.0.5014774943701923.5", origin: "http://localhost:3000", lastEventId: "", source: Window, ports: 

NG-检查or.js是Chrome的一个角度扩展,所以我想我们所要做的就是卸载它,现在我们正在使用流星!

是的,我可以确认我已经从Chrome扩展中卸载角度检查员,并且问题已解决。

+0

我知道它来自'JSON.parse()'。做得好! +1 – 2015-04-05 17:50:01

+0

@Marco Bonelli - 问题解决了,感谢您的帮助 – mwarren 2015-04-05 18:05:58

+0

感谢您的洞察力,它的工作原理! – Thinkerer 2015-04-06 15:07:17

4

NG-检查这里的维护者(我没有足够的代表处添加评论)

我很抱歉,扩展导致的问题给你。对于它的价值,我们已经更新它(v0.5.8)来处理来自postMessage数据的异常。

+0

不用担心,感谢您的反馈。 – Thinkerer 2015-04-12 02:32:09

相关问题