jquery(ajax)重定向到另一个域

时间:2012-09-22 04:58:35

标签: jquery json

我有以下格式的jquery json请求:

JSON请求:

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

如果请求失败(服务器未响应),我如何重定向到另一个域。例如“http://zxy.com”。(我们在另一台服务器上维护相同的代码)

3 个答案:

答案 0 :(得分:3)

我认为如果服务器根据响应告诉您,最好使用$.ajax()error方法或success

然后使用它来重定向浏览器。

window.location = "http://www.google.com"

答案 1 :(得分:2)

$ .getJSON()定义为:

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

因此,无声地失败。

要对错误作出反应,您需要直接使用$ .ajax()函数,该函数允许您定义onError处理程序,如:

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

    contentType:'json',

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

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

有关详细信息,请参阅jQuery Ajax error handling, show custom exception messages

答案 2 :(得分: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!'); });