如何获取(非 ajax)图像请求的响应。
使用 jQuery 我正在做:
$('#myimg').error(function(err) {
console.error(err);
}
然而,这个 err 对象没有从服务器发送的响应。我可以在 chrome 开发工具中查看错误响应.. 这是此错误的预期响应,但是如何从 javascript/jquery 访问该消息?
如何获取(非 ajax)图像请求的响应。
使用 jQuery 我正在做:
$('#myimg').error(function(err) {
console.error(err);
}
然而,这个 err 对象没有从服务器发送的响应。我可以在 chrome 开发工具中查看错误响应.. 这是此错误的预期响应,但是如何从 javascript/jquery 访问该消息?
我不认为有一种方法可以做到这一点,
而是在引发错误事件时进行 ajax 调用
$('img').error(function(err){
var src = $(this).attr('src');
$.ajax(src,[settings]);
})
$('img')[0].src = "http://asdasdasd.com";
ajax
您将在调用的错误处理程序中得到响应
如果您指的是 HTTP 响应,我认为您无法通过 Javascript 获得它。说明您要实现的目标,并且可能还有其他适合您需求的解决方案。
Javascript
$('img').load(function(e) {
// Image loaded
console.log(e.type, e);
})
.error(function(e) {
// Failed to load image
console.log(e.type, e);
$(this).addClass('error');
// NOTE: You could also change the src attribute.
});
CSS
img {
width: 200px;
height: 200px;
margin: 10px;
background: url('http://placekitten.com/g/200/200') no-repeat;
}
.error { border: 2px dashed red; }
HTML
<img id="img1" src="http://placekitten.com/200/200" />
<img id="img2" src="http://placekitten.com/no/such/file" />