我在客户端代码中看到了以下顺序:
$.ajax({
url: "...",
data: {},
success: function() {
// I don't care about the response
}
});
top.location.href="http://...." 如您所见,浏览器发送ajax请求,而不关心响应。在发送请求之后,使用top.location.href语句将页面重定向到另一个url。
我是javascript的新手,我不确定ajax请求是否被保证发送?
还有另一种方法来获得这个发送、忘记和重定向ajax行为吗?
编辑
为了澄清,我不想等待这个ajax完成它的长时间操作,并将重定向行放在成功回调中。
发布于 2012-07-30 15:21:32
如果您希望100%确定消息已被接收和处理,则应在success处理程序中进行重定向。
这还将使您能够在需要时进行错误处理-例如,如果您发出AJAX请求但由于某种原因而失败了怎么办?如果您只是重定向,用户将永远不会知道有问题。但是,根据应用程序的具体情况,您可能不需要关心这个问题。
发布于 2012-07-30 15:22:08
如果您只想在ajax请求成功后重定向到其他页面,那么为什么不将您的top.location放在success函数中,或者如果您只想重定向,而不管您的ajax是否成功,还是在一个完整参数的函数中重定向您的top.location。
https://stackoverflow.com/questions/11724404
复制相似问题