不在AJAX中显示警报视图?

时间:2016-10-08 17:03:05

标签: jquery ajax

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循环的警告是结束。但是不显示循环的警告结束如何解决它?在此先感谢,并对任何语法错误表示抱歉。

1 个答案:

答案 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;未定义的