如何发送ajax请求并重定向到另一个页面

时间:2012-07-30 15:18:33

标签: javascript jquery ajax

我在客户端代码中看到了以下序列:

$.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完成它的长时间操作并将重定向行放在成功回调中。

2 个答案:

答案 0 :(得分:2)

如果您想100%确定收到并处理了邮件,您应该在success处理程序中进行重定向。

如果需要,这也可以让你进行错误处理 - 例如,如果你发出AJAX请求但由于某种原因失败了怎么办?如果你只是重定向用户永远不会知道有问题。但也许您根据应用的具体情况不需要关心这一点。

答案 1 :(得分:1)

如果您只是想在ajax请求成功后重定向到其他页面,那么为什么不将top.location置于成功函数中,或者如果您只是想重定向而不管您的ajax是否成功...写下您的顶部.location在完整参数的函数中。