中止.ajax请求并停止下载文件

时间:2012-11-08 02:18:34

标签: jquery ajax

如果这是重新发帖,我道歉,但我无法理解。我正在加载一个充满图像的页面,如果用户在下载图像之前导航,我想停止下载。我认为abort()工作,但文件继续下载。

$(document).ready(function(){
var jqXHR;
$('.buttons li#stop').click(function(){
    jqXHR.abort();
    alert('aborted');
}); 
$('.buttons li#start').click(function(){
    jqXHR = $.ajax({
    dataType:"html",
    url:"images.php",
    success: function(data){
        $('.pageContent').html(data);
    }
    });         
});     

});

1 个答案:

答案 0 :(得分:0)

您的jqXHR可能已经完成,您获得的HTML已插入.pageContent。浏览器正在下载HTML中指定的图像,因此您无法通过中止jqXHR来停止它。

您可以尝试将.pageContent的html设置为空,但我不知道这是否会按预期工作。

$(document).ready(function(){
    var jqXHR;
    $('.buttons li#stop').click(function(){
        jqXHR.abort();
        $('.pageContent').html(data);
        alert('aborted');
    }); 
    $('.buttons li#start').click(function(){
        jqXHR = $.ajax({
        dataType:"html",
        url:"images.php",
        success: function(data){
            $('.pageContent').html(data);
        }
        });         
    });     
});

或者您只需点击浏览器的停止按钮即可。