0

我有一个 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);
}

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

任何建议都非常感谢

4

1 回答 1

1

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

$.each(html[0].data, function(key, value) {
    console.log( value.partnumber );
});
于 2013-08-10T03:09:21.543 回答