我正在尝试根据我收到的JSON查询的文件字符串显示图像(格式为{“itemIcon”:“http://www.example.com/image.png”}。
我收到的错误是:
[Error] TypeError: http://www.example.com/image.png is not a valid argument for 'in' (evaluating '( length - 1 ) in obj')
isArraylike (jquery-1.10.2.js, line 997)
each (jquery-1.10.2.js, line 632)
(anonymous function) (main.js, line 9)
fire (jquery-1.10.2.js, line 3048)
fireWith (jquery-1.10.2.js, line 3160)
done (jquery-1.10.2.js, line 8235)
callback (jquery-1.10.2.js, line 8778)
我的js如下:
function getItemIcon (itemID)
{
var jsonURL = 'http://example.com/rest/XXXX/items/' + itemID + '?fields=
itemIcon&id_Field=itemID&app_name=XXXX';
$.getJSON(jsonURL, function(json)
{
var imgURL = "";
$.each(json.itemIcon, function() {
imgURL += '<li><img src= "' + this.imgURL + '"></li';
});
})
}
HTML部分如下所示:
<body onload="getItemIcon('1')">
<div id="itemIcon">here</div>
非常感谢任何帮助。
答案 0 :(得分:0)
json.itemIcon
是表示图片网址的字符串,因此$.each(json.itemIcon
正在尝试遍历该字符串中的每个字母并抛出错误
除非你有一个未显示的对象数组,否则你不需要each
。
这应该基于给出的信息
var imgURL = '<li><img src= "' + json.itemIcon + '"></li>';