我有一个ashx页面,它返回以下JSON数据,我希望能够循环并将值添加到ul中的一堆li。
我的问题是如何循环检索值。
从ashx返回的数据看起来像这个
{"ImageCollection":
{
"Images":
[
{
"ImageID":"62",
"CatID":"1",
"Location":"/Images/62.gif",
"FullHeight":"466","FullWidth":"606"
},
{
"ImageID":"63",
"CatID":"1",
"Location":"/Images/63.gif",
"FullHeight":"205",
"FullWidth":"751"
}
]
}
}
如果我试试这个
<script type="text/javascript">
$.getJSON("/Service/GetJson.ashx?data=images", function(data) {
var jsObjectData = eval(data);
$.each(data, function(i, item) {
alert(data[i].ImageID);
});
});
</script>
我收到一条说明未定义的警报。我做错了什么?
答案 0 :(得分:7)
在这种情况下无需评估,您可以这样做:
$.getJSON("/Service/GetJson.ashx?data=images", function(data) {
var jsObjectData = data.ImageCollection.Images;
$.each(jsObjectData, function(i, item) {
alert(item.ImageID);
});
});
$.getJSON()
已将其转换为对象,因此只需将其视为对象,data
是整体对象,并且您希望循环通过ImageCollection.Images
,所以将其传递给你的$.each()
电话。