AJAX代码:
$.ajax({
type:"post",
url:"<?php echo base_url()?>index.php/myad/filter",
data:{checkbox:checked},
success:function(data){
data = $.parseJSON(data);
var list = '';
var cates = '';
var base_url = "<?php echo base_url();?>";
console.log(data);
for(var i = 0; i <= data.length; i++){
list =+ '<div class="col-sm-12"><div class="product-view row" style="border-bottom:1px solid #eee;margin-bottom:20px;padding:20px 0px 20px 0px;background:#f1f1f1"><div class="col-sm-3 col-md-3 col-lg-3"> <div class="large-image"> <img alt="#" src="'+base_url+'/uploads/'+data[i]['checkbox'][0]['Image']+'"><div class="image-title"><span class="icon-thumbs-up" onclick="thumb('+data[i]['UniqueID']+',this)" style="font-size:24px;"></span></div></div></div><div class="col-sm-6 col-md-6 col-lg-6"> <div class="product-label"><h4>'+data[i]['FullName']+', '+data[i]['Area']+'</h4><h5 style="font-size:14px;width: 100%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"><span class="icon-calendar"></span> '+data[i]['SaleDate']+'</h5><h5 style="font-size:14px;width: 100%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"><span class="icon-clock"></span> ';
var starttime = data[i]['StartTime'];
var endtime = data[i]['EndTime'];
var times='';
for(var r = 0; r < starttime.length; r++){
times+=''+starttime[r]+'-'+endtime[r]+' ';
}
list+=times+'</h5><div data-balloon-length="fit" data-balloon="'+data[i]['Address1']+'" data-balloon-pos="up" ><h5 style="font-size:14px;width: 100%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"><span class="icon-home"></span> '+data[i]['Address1']+'</h5></div><div data-balloon-length="fit" data-balloon="'+data[i]['description']+'" data-balloon-pos="up" ><h5 style="font-size:14px;width: 100%;text-overflow: ellipsis;overflow: hidden;white-space: nowrap;"><span class="icon-file"></span> '+data[i]['description']+'</h5></div></div></div><div class="col-sm-3 col-md-3 col-lg-3"><div class="product-label"><h4>CATEGORY</h4>';
for(var j = 0;j < data[i]['checkbox'].length; j++){
cates+='<h5 style="font-size:14px">'+data[i]['checkbox'][j]['Product']+'</h5>';
}
list+=cates+'</div></div></div></div>';
alert("for loop is end");
};
alert('loop is end');
}
});
}
显示for循环的警告是结束。但是不显示循环的警告结束如何解决它?在此先感谢,并对任何语法错误表示抱歉。
答案 0 :(得分:0)
显示for循环的警告结束。但是不显示循环的警告结束
这是因为您的数据变量使用方式不好:
for(var i = 0; i <= data.length; i++){
这一行应该是:
for(var i = 0; i < data.length; i++){
如果您的数据长度是&#34; data.length&#34;你不能把元素放在data.length。
的位置数组元素位于区间:0,1,2 .... length -1
在你的情况下,当你试图获得:
var starttime = data[i]['StartTime'];
i = data.length,你得到未定义。 这意味着,下一个循环:
for(var r = 0; r < starttime.length; r++){
会抛出异常:
....未捕获的TypeError:无法读取属性&#39;长度&#39;未定义的