2012-04-13 7 views
2

Ajax呼び出しから戻ってきたJSON応答がありますが、JSONのどの部分にもアクセスできないようです。Ajax JSONデータオブジェクトにアクセスできない

JSON形式がある: [{ "ID": "1"、 "説明": "従業員"、 "カバレッジ": "中央"、 "対象": "X"}]

I以下を試してみましたが、何も作品なかった:

success: function(result, request){ 
    jsonData = Ext.util.JSON.decode(result.responseText); 
    var id = jsonData.id; 
    alert(id); 
} 

* returns as undefined 

success: function(result,request){ 
    jsonData = result.responseText ##shows the Json perfectly 
    alert(jsonData.length) ### displays as number of chars, not how many objects in json string 
} 
+0

は、あなたが何を参照くださいExtJS3とExtJS4の両方で利用可能ですExt.decode場合は、最初のサンプルでは、​​あなたとまったく '警告(jsonDataを使用するようになります) '? – sha

+0

また、私はそれがExt.JSON.decode Ext.util.JSON.decodeではないと信じています – sha

+0

最初のサンプルは[オブジェクト、オブジェクト]を返します。 Extjs 3.4を使用していますので、Ext.util.JSON.decodeです。私は警告(result.responseText) – pm13

答えて

5

Ext.util.JSON.decodeはExtJS3方法であるとExt.JSON.decodeはExtJS4であり、あなたはそうフェイルセーフな方法を使用しているのExtJSのバージョンを示していないよう

success: function(result, request){ 
    jsonData = Ext.decode(result.responseText); 
    console.log(jsonData); 
} 
+0

[Object、object] – pm13

+0

を返し、 'alert(jsonData [0] [" id "]);'を実行すると、あなたは何を取得していますか? –

+0

これは完璧に動作しました、ありがとう! – pm13

0

あなたはこのためevalを "悪" 使用することができます:

var jsonData; 
eval('jsonData =' + result.responseText); 
alert(jsonData[0].id); 
+0

申し訳ありません、 'alert(jsonData [0] .id)'である必要があります。 – pm13

+0

のために未定義で返された – Thevs

関連する問題