我正在尝试从json中提取对象。但我得到TypeError: recent_prod[a] is undefined
。我已经多次这样做了没有错误。但这次我无法得到我错的地方。谢谢。
$(document).ready(function(){
var recents = "";
var imges = "";
var imge = "";
var recent_prod = <?php echo $recent_prod; ?>;
for(var a = 0; a < 8; a++)
{
imges = recent_prod[a].image; //typeError.
alert(imges);
imge = imges.split[","];
recents += '<a href="' + base_url + 'init/product/' + recent_prod[a].id + '">'+
'<div class="related_prod_thumb">' +
'<div class="related_prod_img">'+
'<span class="helper"></span>'+
'<img src="' + base_url + 'uploads/thumbnail/' + imge + '" width="100">'+
'</div><div class="related_prod_title">' + recent_prod[a].title +'</div>'+
'<div class="related_prod_price">' + 'Rs. ' + recent_prod[a].price + '</div></div></a>';
}
$("#recent_views").html(recents);
});
答案 0 :(得分:0)
检查页面的源代码,看看是否有这一行:
var recent_prod = <?php echo $recent_prod; ?>;
实际上是正确打印$recent_prod
,如果是,请查看它是否是数组。另外,这一行:
for(var a = 0; a < 8; a++)
{
imges = recent_prod[a].image;
尝试阅读recent_prod
而不检查其是否包含内容。将8
替换为recent_prod.length
。也就是说recent_prod
也是一个数组。
答案 1 :(得分:0)
为确保仅使用合法值,请更改
for(var a = 0; a < 8; a++)
到
for(var a in recent_prod)