图片未显示但也未投放404

时间:2016-08-03 13:26:32

标签: javascript html json image http-status-code-404

我使用javascript访问json文件,并为此文件中的每个JSON对象添加一个磁贴。这工作正常,但我有动态插入图像到这些瓷砖的问题。我所拥有的是默认图像,如果在JSON对象中找不到"imageName"属性(未定义),则使用默认值。我的代码看起来很好,它找到了图像OK,但它没有显示它,而是显示标准的404图像。奇怪的是,它也没有抛出404,也没有在网络标签中显示为404错误(我在Chromium上)。我还故意将图像重命名为错误,它会抛出404.这是在GitLab CE上托管的(但问题也出现在本地),我的代码如下:

使用Javascript:

$.getJSON('../assets/posts.json', function(data) {
    data.forEach(function(post) {
        for (var i = 1; i <= 11; i++) {
            if (post[i] !== undefined) {
                if (post[i].imageName === undefined) {
                    $('#repeatPosts').append('<li><img src="../assets/images/defaultBlogImage.jpg">' + post[i].title + '</li>');
                } else {
                    $('#repeatPosts').append('<li><img src="../assets/images/' + post[i].imageName + '" />' + post[i].title + '</li>');
                }
            }
        }
    });
});

JSON:

[{"1": {
    "title": "Test post",
    "date": "03-07-2016",
    "body": "Just a test body"
},
"2": {
    "title": "Test post",
    "date": "03-07-2016",
    "body": "Just a new test body",
    "imageName": "defaultBlogImage.jpg"
}}]

且违规网站为here

1 个答案:

答案 0 :(得分:0)

我终于解决了这个问题。这不是图像本身的问题,但我的任务运行器正在改变我的所有文件,并且它弄乱了图像的签名,因此不再是有效的图像。我通过忽略所有图像文件解决了这个问题。