Jquery 重定向到其他页面时终止ajax调用

Jquery 重定向到其他页面时终止ajax调用,jquery,ajax,Jquery,Ajax,我正在使用上面的ajax调用。在IE中,如果在ajax调用过程之间重定向到其他页面,则加载包含另一个ajax调用的重定向页面需要很长时间。在重定向之前,相同的代码在Chrome中显示异常(错误) 如何在重定向到其他页面时终止ajax调用?您可以使用ajax函数返回的xhr对象中止ajax调用。像这样: $.ajax({ beforeSend: function () { ... }, complete: function (

我正在使用上面的ajax调用。在IE中,如果在ajax调用过程之间重定向到其他页面,则加载包含另一个ajax调用的重定向页面需要很长时间。在重定向之前,相同的代码在Chrome中显示异常(错误)


如何在重定向到其他页面时终止ajax调用?

您可以使用ajax函数返回的xhr对象中止ajax调用。像这样:

$.ajax({
        beforeSend: function () {
            ...
        },
        complete: function () {
            ...
        }, 
        url: "serviceUrl",
        cache: false,
        type: 'POST',
        data: jsonObj,
        contentType: 'application/json; charset=utf-8',
        statusCode: {
            200 /*Get*/: function (responseData) {
                successCallback(responseData);
            },
            201 /*Created*/: function (responseData) {
                successCallback(responseData);
            }
        },
        error: function (jqXHR, textStatus, errorThrown) {
            handleException(jqXHR.status, failureCallback);
        }
    });

我编写了一个通用函数来处理ajax调用。所以我不知道在哪里放置xhr.abort()。示例:-函数ajaxPost(model,serviceUrl,successCallback,failureCallback){$.ajax({…}}@user930453我不完全理解您何时想要中止。您能详细说明/显示所有代码吗?我在函数中编写了ajax调用。我将在需要的任何地方调用该函数。在得到响应之前,如果我重定向到第二页(通过单击菜单按钮)在IE中加载包含ajax调用的第二个页面需要时间。但是在Chrome中,它会转到ajax错误函数并立即加载页面“在获得响应之前”是什么意思?确切位置?即在获得响应数据之前(ajax成功状态代码200)
var xhr = $.ajax({
    type: "POST",
    url: "some.php",
    data: "name=John&location=Boston",
    success: function(msg){
       alert( "Data Saved: " + msg );
    }
});

//kill the request
xhr.abort()