我有一个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了,但由于某种原因,我无法弄清楚如何获取所有数据。
任何建议非常感谢
答案 0 :(得分:1)
您的json是一个数组,因此您必须使用索引访问它,这种情况0
然后你不需要使用key
来访问它,因为它会循环每个数据对象,因此它存储在value
中。
$.each(html[0].data, function(key, value) {
console.log( value.partnumber );
});