2013-07-14 40 views
1

我有一些奇怪的jQuery與jQuery。從web套接字我得到以下JSON字符串:jQuery中的TypeError。未定義的值,雖然它被定義/存在

{ 
    "time" : 1373772581860, 
    "entries" : { 
    "OK" : 2, 
    "FASTER" : 1, 
    "SLOWER" : 2 
    }, 
    "entriesSize" : 3, 
    "setEntries" : true, 
    "setTime" : true 
} 

接受它後,我想,讓我知道有多少票OK了檢索項的值,多少更快多少慢。如果我通過說msg.data.entries.FASTER來嘗試這個jQuery失敗,並且TypeError: msg.data.entries is undefined。這是爲什麼。我在JS小提琴中試過,它工作得很好。見here。有誰知道爲什麼jQuery在不同的環境中表現出奇怪和不同的表現?謝謝。

+0

請在此發佈您的代碼。你的提琴不符合你在問題中引用的代碼。 – 2013-07-14 03:43:06

+0

沒有更看到,但在這裏它是: 'ws.onmessage =函數(MSG){ \t \t \t \t 的console.log( '消息:' + msg.data); //工作並顯示json超過 console.log(msg.data.entries.FASTER); //失敗 }' – RaHe

+0

你確定它已被解析,'typeof msg.data'返回什麼? – adeneo

回答

0

首先解析返回的json字符串到對象。

var jsonObject = $.parseJSON(msg); 

然後訪問解碼對象中的所需數據。

例如var time = jsonObject.time;

+0

這也正如我的問題的評論中所討論的那樣。謝謝。 – RaHe

相關問題