JQuery Abort Ajax请求

时间:2013-05-22 15:27:41

标签: jquery

当用户离开页面时,我似乎无法获取此ajax请求。我不知道为什么。问题是客户端在用户离开页面之前等待请求完成。这是一个很大的要求,因为它需要大约5-7秒才能完成。因此,如果用户在请求正在进行时离开此页面,则必须在加载下一页之前等待该时间。这是我的代码。

window.loader = setInterval(load_queued_tasks, 15000);
    // function that should run every 15 seconds //
    function load_queued_tasks() {

        window.loader_ajax_request = $.ajax({
                    url: "coolpage.php",
                    type: 'GET',
                    success: function(data) {
            //lots of exciting actions
                      })     
            },
                    error: function() {
                       return false;
                    }
                }); //end ajax call
     }

    window.onbeforeunload = function (e) {
        //clear the interval timer
        window.clearInterval(window.loader);

        //abort any running ajax request
        window.loader_ajax_request.abort(); 
    };

0 个答案:

没有答案