每当我的服务器在状态码中发送403时,我都会尝试将url重定向到signin url。
function processget_sync(data1, url1, handler)
{
url1=server_url + url1;
data1=JSON.stringify(data1);
jQuery.ajax({
type : "GET",
url : url1,
dataType : "json",
contentType : "application/json; charset=utf-8",
cache : false,
async: false,
statusCode: {
403:function(){
redirectFunction();
}
},
success : function(ret) {
handler(ret,null);
},
error : function(err) {
handler(null,err);
}
});
function redirectFunction(){
console.log("before redirection")
window.location.href = "../signin/index.html";
console.log("after redirection")
}
在重定向之前和重定向之后,console.log都在打印。但重定向没有发生。如果我提供 async:true ,它的工作正常。
我尝试使用window.location.assign(),window.location.replace(),location.href和类似问题线程中给出的所有其他解决方案。在我的案例中似乎没有任何作用
答案 0 :(得分:-1)
最初获取您的回拨价值,之后检查您的条件:
success: function(data){
callback(data);
}
if(data == true){
window.location.href = "../signin/index.html";
}