从ajax响应中检索值

时间:2015-09-26 13:35:54

标签: jquery

我使用jQuery .ajax发送数据,然后我听取响应。当我使用console.log()

时,响应包含以下格式的数据
{
    "res": 65,
    "arr": [
        {
            "id": "17",
            "item": "large book",
            "rate": "5"
        },
        {
            "id": "18",
            "item": "2 cups",
            "rate": "5"
        }
    ]
}

我需要使用JS函数输出这些信息,所以我尝试lop:

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

return response.arr['item']似乎不起作用。

2 个答案:

答案 0 :(得分:3)

由于arr属性包含数组,您需要通过for循环中的索引访问它。另请注意,您需要迭代length的{​​{1}}。试试这个:

response.arr

Example fiddle

当您使用jQuery标记此问题时,您也可以使用它来循环返回的对象:

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

答案 1 :(得分:0)

首先,您需要使用函数将json字符串解析为json对象:

var json = JSON.parse(response);

然后,要仅迭代数组,请执行以下操作:

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