5

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

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

谢谢...

4

3 回答 3

3

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

于 2013-06-26T07:00:01.617 回答
2

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

希望有帮助;)

于 2013-06-26T06:58:43.410 回答
1

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

于 2013-06-26T06:58:15.210 回答