重定向到另一个页面时终止ajax调用

时间:2013-03-04 08:09:32

标签: jquery 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调用。在IE中如果我重定向到ajax调用进程之间的某个其他页面,则需要很长时间才能加载包含另一个ajax调用的重定向页面。相同的代码在重定向之前显示Chrome中的异常(错误)

如何在重定向到另一个页面时终止ajax调用?

1 个答案:

答案 0 :(得分:0)

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

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()