我正在尝试在我的网站上加载图片,如果图片生成失败,我想显示一条短信,说明失败的原因。最好的方法吗?
这是我尝试过的,但图像数据显然被解释为字符串。 (我的imgContainer中有一堆乱码)。
function GetImage(id) {
$.get('ajax/getImage', { Id: id }, function (data) {
if (typeof data == "string") {
$('div#imgContainer').html(data);
} else {
$('img#imgViewer').attr('src', data);
}
});
}
修改
似乎我的错误更多是你无法将图像数据设置为src属性,就像我上面所做的那样。据我所知,您需要将src直接设置为链接,例如:
$('div#imgContainer').html('<img src="ajax/getImage" />');
但这并不能让您选择检查数据类型。
答案 0 :(得分:2)
如果发生错误,您可以让您的ajax调用返回内容类型“application / json”。类似的东西:
{"error": "something bad happened"}
然后在回调中,您可以检查它是对象还是字符串:
$.ajax('/some/url')
.done(function(response){
if($.isPlainObject(response)){
//....
}
else{
//....
}
})