我正在尝试使用jQuery的getJSON方法从我们的数据库中获取一些数据。我可以毫无问题地得到回复,但是当我尝试将其附加到页面时,它是未定义的。
示例json:
{
"ItemCount":1,
"ProductID":"4220002",
"ProdMfg":"",
"Desc":"",
"Quantity":33,
"UnitPrice":1,
"ExtPrice":33
}
jQuery代码:
$.getJSON('webcatpageserver.exe?aShoppingCart', function(data) {
var table = '<table>';
$.each(data, function(index, item) {
table += '<tr><td>' + item.ProductID + '</td><td>' + item.Quantity + '</td> </tr>';
});
table += '</table>';
$("#mini-pallet").append(table);
});
HTML: 在HTML中,我看到显示“未定义”。
我假设我没有正确访问数据以显示它 - 但我可以使用正确的方向推动。谢谢!
答案 0 :(得分:2)
您肯定需要一个正确方向的push()
,可能是服务器页面中array_push()
创建getJSON
响应。 ; - )
您的响应对象当前不是数组,因此您的$.each()
将遍历json对象中的每个属性,然后再找不到预期的属性。
像
这样的json对象[{ "ItemCount":1, "ProductID":"4220002", "ProdMfg":"", "Desc":"", "Quantity":33, "UnitPrice":1, "ExtPrice":33 }]
将原始对象作为元素放入数组中可能会起作用。
答案 1 :(得分:0)
您的each
循环,如此处的另一个答案所述,不是数组,也不是列表。因此,您正在迭代每个item
但是,您没有获得任何字符串标记,因为它们不是对象,因此被忽略。
push()
方法在这里很方便,但是,为了便于解释,您需要将每个循环转换为实际的字符串,因此它将被识别为整个字符串,而不是对象。