我使用getJSON()查询在线平面图像数据库并返回链接和图像网址。我的问题是,如果该项目不在数据库中,我将在控制台上收到此错误:
无法阅读财产' 0'未定义的。
我已将var error = res.status
与
if (error == "404") {
$("#image").attr('src', "placeholder.jpg");
}
显示没有图片但没有图片的默认图片。以下是服务器响应的两个示例:
错误:
{" status":404,"错误":"未找到飞机缩图。"}
数据库中的图片:
{"status":200,"count":1,"data":[{"image":"http:\/\/www.airport-data.com\/images\/aircraft\/thumbnails\/001\/369\/001369561.jpg","link":"http:\/\/www.airport-data.com\/aircraft\/photo\/001369561.html","photographer":"magnaman"}]}
我的问题是我如何解决未定义的错误或显示默认图像(如果它不在数据库中)
提前致谢
var imgUrl
$.get('http://192.168.1.64:8080/VirtualRadar/AirportDataThumbnails.json?icao='+value.Icao, function(res) {
var imgUrl = res.data[0].image
var error = res.status
var imgHref = res.data[0].link
if (error == "404") {
$("#image").attr('src', "placeholder.jpg");
} else {
$("#image").attr('src', imgUrl);
$("#image2").attr('src', imgUrl);
$("#imageurl").attr('href', imgHref);
}
})
答案 0 :(得分:2)
如果出现错误,则没有res.data
属性。您只能在else
块中访问它。
$.get('http://192.168.1.64:8080/VirtualRadar/AirportDataThumbnails.json?icao=' + value.Icao, function(res) {
var error = res.status;
if (error == "404") {
$("#image").attr('src', "placeholder.jpg");
} else {
var imgUrl = res.data[0].image;
var imgHref = res.data[0].link;
$("#image").attr('src', imgUrl);
$("#image2").attr('src', imgUrl);
$("#imageurl").attr('href', imgHref);
}
})