我有一个ajax调用,在调用返回后发生重定向(在成功处理程序内):
$.ajax({
type: "POST",
url: "/LoadSomeData",
dataType: "json",
success: function (response) {
location.href = "http://mysite.com";
}
});
如果我在呼叫返回之前进行重定向,那么ajax呼叫会被取消吗?例如:
$.ajax({
type: "POST",
url: "/LoadSomeData",
dataType: "json",
success: function (response) {
location.href = "http://mysite.com";
}
});
location.href = "http://mysite.com";
我有一种情况,我真的不想等到我的所有数据都被加载,我想立即重定向。问题是否会重定向(可能在加载完成之前)中断加载过程?
谢谢...
答案 0 :(得分:2)
没有测试我会假设ajax呼叫将被取消。您可以尝试ajax调用包含<?php sleep(10); ?>
或类似内容的php脚本,并查看重定向是立即发生还是需要10秒。
希望有所帮助;)
答案 1 :(得分:2)
如果你在ajax回调之外重定向,回调将被销毁,你将立即重定向。这应该对重定向地址的加载过程没有影响。
答案 2 :(得分:1)
浏览器没有义务等待ajax请求完成,但他们没有。