-1

次の形式のjquery jsonリクエストがあります。

JSON リクエスト:

$.getJSON('http://xyz.com',function(result) {});

リクエストが失敗した場合 (サーバーが応答しない場合)、別のドメインにリダイレクトするにはどうすればよいですか? たとえば、「http://zxy.com」(別のサーバーで同じコードを維持しています)。

4

3 に答える 3

3

$.ajax()errorメソッド、またはsuccessサーバーが応答に基づいて通知する場合)を使用する方が良いと思います)。

次に、これを使用してブラウザをリダイレクトします。

window.location = "http://www.google.com"
于 2012-09-22T05:05:43.157 に答える
2

$.getJSON() は次のように定義されます。

jQuery.getJSON=function(url,data,callback){
    return jQuery.get(url,data,callback,"json");
};

そのため、静かに失敗します。

エラーに対応するには、次のように onError ハンドラを定義できる $.ajax() 関数を直接使用する必要があります。

$.ajax({
    url: '...',

    contentType:'json',

    success:function(result,stat,xhr){
        ...
    },

    error:function(xhr,opts,err){
        ...
    }
});

詳細については、jQuery Ajax エラー処理、カスタム例外メッセージの表示を参照してください。

于 2012-09-22T05:15:50.650 に答える
0

これを試しましたか?

function addImage(item) {
 $("<img/>").attr("src", item.media.m).appendTo("#images");
}

    var jqxhr = $.getJSON("http://xyz.com",function(data) {
    $.each(data.items, function(i,item){  //sample
       addImage(item);
    })
    .error(function() { 
              var jqxhrFailover = $.getJSON("http://zzz.com", function(data) {
    $.each(data.items, function(i,item){  //sample
       addImage(item);
    }).error(function(){ alert('both failed!'); });
于 2012-09-22T05:01:51.823 に答える