1

我正在使用JQuery 1.9.1。这个问题可能与以前的一些问题重复。但这些问题已经过时了。所以我需要一个最新的解决方案。

对于我的 java 应用程序,我正在向tomcat serverfor each 10 secthrough发送一个连续的请求以JQuery-Ajax获取数据,例如,

function startPolling(){

    $.ajax({
        type: "POST",
        cache: false,
        url: "My URL",
        dataType: "html",
        timeout: 10000,

        success: function(response) {                       
            if(response != null && response !="" && response !="null")
                $("#sucess").html(response);
        },
        error: function(xhr) {
            xhr.abort();
            //alert('Error: ' + e);
        },

        complete: function(xhr, status) {
            xhr.abort(); 
            startPolling();
        },
    });
}

请以适当的方式确保我abort/cancelclient side先前的请求。

server side request processing另外,在通过 ajax 发送新请求之前,我该如何中止。

希望我们的堆栈用户能帮助我。

4

1 回答 1

1

客户端中止这里有一个错误

var pollXhr;
function startPolling(){
    if(pollXhr){
        pollXhr.abort()
    }

    pollXhr = $.ajax({
        type: "POST",
        cache: false,
        url: "My URL",
        dataType: "html",
        timeout: 10000,

        success: function(response) {                       
            if(response != null && response !="" && response !="null")
                $("#sucess").html(response);
        },
        complete: function(xhr, status) {
            pollXhr = null;
            startPolling();
        },
    });
}

注意:这不会停止服务器端处理

于 2013-09-17T07:24:56.370 回答