2015-04-05 135 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

相關問題