1
$.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 调用?

4

1 回答 1

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()
于 2013-03-04T08:13:29.897 回答