2015-09-26 57 views
1

我使用jQuery .ajax發送數據,然後偵聽響應。響應包含以下格式的數據,當我使用console.log()從ajax響應中檢索值

{ 
    "res": 65, 
    "arr": [ 
     { 
      "id": "17", 
      "item": "large book", 
      "rate": "5" 
     }, 
     { 
      "id": "18", 
      "item": "2 cups", 
      "rate": "5" 
     } 
    ] 
} 

我需要輸出這些信息withing JS功能,所以我儘量羅布泊:

for(var i=0; i <response.arr; i++){ 
    // HOW DO I GET: 
    // Item: large book 
    // Item: 2 cups 
} 

return response.arr['item']似乎並沒有工作。

+0

'我

+0

請顯示完整的代碼上下文....即使'for'被修復後,'return'也是高度可疑的 – charlietfl

回答

3

由於arr屬性包含一個數組,因此您需要通過for循環中的索引訪問它。另請注意,您需要遍歷response.arrlength。試試這個:

for (var i = 0; i < response.arr.length; i++){ 
    var item = response.arr[i].item; 
    console.log(item); 
} 

Example fiddle

正如您所標記的這個問題與jQuery,你也可以用它來遍歷返回的對象:

$.each(response.arr, function(i, obj) { 
    console.log(obj.item); 
}); 
0

首先,你需要解析json字符串轉換爲json對象使用函數:

var json = JSON.parse(response); 

然後,只迭代數組do如下:

for(var i = 0; i < json["arr"].length; i++) { 
     console.log(json["arr"][i].item);   
}