2

(非 ajax) 画像リクエストからの応答を取得するにはどうすればよいですか。

私がやっているjQueryの使用:

$('#myimg').error(function(err) {
    console.error(err);
}

ただし、この err オブジェクトには、サーバーから送信された応答がありません。Chrome 開発ツールでエラー応答を表示できます..これはこのエラーに対する予期される応答ですが、javascript/jquery からそのメッセージにアクセスするにはどうすればよいですか?

4

2 に答える 2

2


代わりにできることは、エラーイベントが発生したときにajax呼び出しを行う方法があるとは思いません

$('img').error(function(err){
    var src = $(this).attr('src');
    $.ajax(src,[settings]);
})
$('img')[0].src = "http://asdasdasd.com"​;​​​​​

ajax呼び出しのエラーハンドラーで応答を取得します

于 2012-11-30T12:02:59.910 に答える
0

HTTP 応答について言及している場合、Javascript でそれを取得できるとは思えません。達成しようとしていることを説明してください。ニーズに合った他のソリューションがあるかもしれません。

loadイベントとerrorイベントを使用して小さなデモを作成しました。

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" />​
于 2012-11-30T12:18:55.867 に答える