我使用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
答案 0 :(得分:0)
我终于解决了这个问题。这不是图像本身的问题,但我的任务运行器正在改变我的所有文件,并且它弄乱了图像的签名,因此不再是有效的图像。我通过忽略所有图像文件解决了这个问题。