jquery在$ .ajax请求上循环数组数组

时间:2013-08-10 03:05:58

标签: jquery arrays json

我有一个ajax请求,每隔5秒轮询一次我的服务器,返回一个可供用户购物车内容使用的json数据。

json正确形成,每次都会返回,没有问题。

JSON

[
    {
        "status": "success",
        "responsecode": "00",
        "data": [
            {
                "partnumber": "Part 1",
                "status": "true",
                "quantity": "4",
                "productid": "item-1",
                "name": "Product 2",
                "online": "1"
            },
            {
                "partnumber": "Part 2",
                "status": "false",
                "quantity": "0",
                "productid": "item-2",
                "name": "Product 2",
                "online": "1"
            }
        ]
    }
]

用于处理ajax响应的Jquery函数

function doPoll(){   
    $.ajax({
           type: "get",
           url: "/assets/static-pages/shopping-cart/?action=check-cart",           
            dataType : 'json',
            success: function(html) {
            $.each(html, function(key, value) 
                {
                    console.log(value.data[key].partnumber);
                }
             );
             }
    });
    //   setTimeout(doPoll,10000);
}

每次循环时,它只返回数组中的第一项,我非常想循环数组并返回“data”数组中的所有内容,这样我就可以根据其内容操作UI了,但由于某种原因,我无法弄清楚如何获取所有数据。

任何建议非常感谢

1 个答案:

答案 0 :(得分:1)

您的json是一个数组,因此您必须使用索引访问它,这种情况0 然后你不需要使用key来访问它,因为它会循环每个数据对象,因此它存储在value中。

$.each(html[0].data, function(key, value) {
    console.log( value.partnumber );
});