输出AJAX传送的内容时,“无图像”图标

时间:2014-05-23 19:00:15

标签: javascript jquery image

我使用AJAX请求从mySQL(link)检索数据,之后我构建了一系列帖子。每个帖子都有一个特征图片。因此,在输出帖子的过程中,访问者会看到“无图像”标志:

noImage

这持续了一点时间,但看起来很糟糕。

如何阻止此符号显示或加载旋转?

用于输出结果的jQuery部分

function postsBuilder(posts){
var contents ='';
$.each(posts, function(k, field){
    if(field.link[field.link.length-1] == '/') {field.link = field.link.slice(0, field.link.length-1)};
    contents += '<div class="post-container">';
//here I output the feature image
    contents += "<div class='col_1'><div class='post_image'><img src='/images/icons/id_" + field.id + ".png'></div></div>";
    contents += "<div class='col_2'><div class='post_name'><a class='post_name_link' target='blank' href=http://" + field.link + ">" + field.name + "</a></div>";
    contents += "<div class='post_link'>" + field.link + "</div>";
    contents += "<div class='post_content'>Content: " + field.content + "</div>";
    if ( field.video.indexOf('you') >-1 )  {contents += "<div class='post_video'><a data-toggle='lightbox' href=" + field.video + ">Video</a></div>";}
        contents += "</div></div><br />";         
});
return contents;    

}

调用函数时的一个例子

$.ajax({cache:false,
               url:str,
               beforeSend: function() { $('#loadingDiv').show(); },
               complete: function() { $('#loadingDiv').hide(); },
               dataType :'json'})
               .done(function(result){
                  var i, j, m=0;
                  var div_content="";
                  div_content += "<div><b>Category: ".concat(result[0].category).concat("</b></div>");
                  posts_array = [];
                  for (i=0,j=result.length; i<j; i+=size) { // slice whole JSON result into portions of at maximum 'size' posts in each
                    posts_array.push(result.slice(i, i+size)); 
                    m++;            
                  }
                  div_content += postsBuilder(posts_array[0]);
                    ...
                  $("#content").html(div_content);              
               });

1 个答案:

答案 0 :(得分:1)

对图像使用错误事件:

$(document).on('error', 'img', function () { 
    $(this).hide();
    // or $(this).css({visibility:"hidden"}); 
});

查看How to silently hide "Image not found" icon when src source image is not found