ajax前台接收值不显示

代码

 $.ajax({
            type:'POST',
            url: 'hhWebsiteInfoController.do?website-getDt',
            dataType:'json',
            data:'',
            success:function(json){
                var dts = json.attributes.dts;

             $("#news").empty();
            if(typeof(dts)!=undefined){
              for(var i=0;i<dts.length;i++){
           $("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s' >"+dts[i].id+"</div>");     
            $("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s' >"+dts[i].title+"</div>"); 
           $("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s' ><img src="+dts[i].pic1+"></div>");
           $("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s'><input id="opener" type="image" src="+dts[i].pic1+"></div>");

               } 
            } 
            }
        }); 
        加上$("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s'><input id="opener" type="image" src="+dts[i].pic1+"></div>");这行代码就进不去JS方法里 去掉就可以显示数据。怎么回事?求助= =

楼主可以从ajax异步请求响应的角度思考,首先对于一个异步操作,后续操作如果是必须等待结果返回的情况下去执行,就必须写在success方法的内部,而不能放在外面;其次,你需要检查一下你的后续代码是否产生了js错误,如果有错,那么会存在异步请求没有完成的情况下产生了错误,自然异步请求也就无法正常完成,自然也看不到相应的结果。谷歌浏览器F12调试模式,可以帮助你检测js的问题,可以尝试一下这样的调试,用以解决你的js问题。

字符串都不闭合了

 $("#news").append("<div class='col-md-3 col-sm-3 wow fadeIn' data-wow-delay='0.6s'><input id='opener' type='image' src='"+dts[i].pic1+"'></div>");

你用一个append试试,把几个都写在一起看看。我是这样理解的,append是在id="news"后添加的,四条信息都是在一个news后添加,最后一个应该会覆盖前面内容或者是报错,我觉得这四个完全可以写在一起。