8

次のコードがあり、JSONP を使用してサイトから JSON を取得しています。404 bad request のようなエラーコードを処理したい。以下は私にとってはうまくいきません。

$.getJSON('https://xyz.com/search?jsonp-callback=?', function(data) {

  alert("success");
})
.success(function() { alert("success 2"); })
.error(function() { alert("error occurred "); })
.complete(function() { alert("Done"); });

成功メソッドと完了メソッドは機能していますが、エラー メソッドは機能していません。

4

3 に答える 3

6

fail代わりに試してください( Deferred docerrorを参照してください)。

于 2013-02-25T10:52:15.053 に答える
4
$.getJSON('https://xyz.com/search?jsonp-callback=?', function(data) {
  alert("success");
})
.success(function() { alert("success 2"); })
.error(function(event, jqxhr, exception) {
    if (jqxhr.status == 404) {
              alert("error occurred ");   
    }
})
.complete(function() { alert("Done"); });

上記のコードが役立つ場合があります。

于 2013-02-25T10:56:46.490 に答える
1

このスレッドには答えがあります: https://stackoverflow.com/a/14371049/685925

JSONP を使用しているため、jQuery によって作成されたコールバックは呼び出されないため、失敗のコールバックは呼び出されません。残念ながら、これは JSONP の通常の動作です。

于 2013-12-03T12:39:03.953 に答える