2

サイトに画像を読み込もうとしていますが、画像の生成に失敗した場合は、失敗した理由を示すテキスト メッセージを表示したいと考えています。これを行う最良の方法は?

これは私が試したことですが、画像データは明らかに文字列として解釈されます。(私は 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" />');

しかし、これではデータ型をチェックするオプションがありません。

4

1 に答える 1

2

代わりに、エラーが発生した場合にajax呼び出しで「application/json」のコンテンツタイプを返すようにすることができます。何かのようなもの:

{"error": "something bad happened"}

次に、コールバックで、それがオブジェクトか文字列かを確認できます。

$.ajax('/some/url')
    .done(function(response){
        if($.isPlainObject(response)){
            //....
        }
        else{
            //....
        }
    })
于 2013-01-11T19:08:00.283 に答える