次の形式のjquery jsonリクエストがあります。
JSON リクエスト:
$.getJSON('http://xyz.com',function(result) {});
リクエストが失敗した場合 (サーバーが応答しない場合)、別のドメインにリダイレクトするにはどうすればよいですか? たとえば、「http://zxy.com」(別のサーバーで同じコードを維持しています)。
$.ajax()、error
メソッド、またはsuccess
サーバーが応答に基づいて通知する場合)を使用する方が良いと思います)。
次に、これを使用してブラウザをリダイレクトします。
window.location = "http://www.google.com"
$.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 エラー処理、カスタム例外メッセージの表示を参照してください。
これを試しましたか?
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!'); });