ajax 出現 error 時做跳轉但失敗?
ajax
error: function(jqXHR, textStatus, errorThrown) {
errorGo(textStatus, errorThrown);
},
errorGO()
function errorGO(status, error){
console.log('textStatus: %s, errorThrown: %s', status, error, location, type);
alert('Something went wrong :(');
$.ajax('https://xx.x.com/x/query.php', {
type: 'POST',
data: {
'message': status,
'error': error
},
dataType: "text",
crossDomain: true,
success: function(){
location.href = '/wrong';
console.log('go /wrong');
}
});
return;
}
query.php
將 status 和 error 丟到數據庫
怪異的是:確實有順利丟數據庫。但是就是沒有執行 location.href = '/wrong';
跳轉?
這是哪裡有問題?還是說可以有更好的寫法避免這個問題?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
根据你的代码,有两种可能:
alert
是同步的,会阻止后面代码的执行,所以没有跳转ajax
返回失败如果你点了
alert
的弹出框没有跳转,就是第二个原因;没点弹出框当然也不会跳转,就是第一个原因。楼主,你好!确认下这个请求是否成功,如果成功了,
success
方法是否执行到了,可以console.log()
下。也可以把fail
方法放出来,执行下你把return删了试试