在Ajax调用之前重定向会导致问题吗?

时间:2013-06-26 06:52:06

标签: html ajax jquery

我有一个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";    

我有一种情况,我真的不想等到我的所有数据都被加载,我想立即重定向。问题是否会重定向(可能在加载完成之前)中断加载过程?

谢谢...

3 个答案:

答案 0 :(得分:2)

没有测试我会假设ajax呼叫将被取消。您可以尝试ajax调用包含<?php sleep(10); ?>或类似内容的php脚本,并查看重定向是立即发生还是需要10秒。

希望有所帮助;)

答案 1 :(得分:2)

如果你在ajax回调之外重定向,回调将被销毁,你将立即重定向。这应该对重定向地址的加载过程没有影响。

答案 2 :(得分:1)

浏览器没有义务等待ajax请求完成,但他们没有。