我该如何停止“正在进行”的jquery POST?

时间:2011-07-15 17:41:24

标签: jquery ajax post submit

我有一个jQuery ajax帖子,我用POST上传大文件。我希望在提交正在进行时,让用户能够取消提交,单击按钮。我怎么能这样做?

3 个答案:

答案 0 :(得分:2)

var xhr = null;

xhr = $.ajax({
    url : 'www.example.com?some-large-call',
    success : function(responseText) {
        // some DOM manipulation
    }
});

$("#cancel").click(function() { xhr.abort() });

这应该对你有用

答案 1 :(得分:0)

查看解释XMLHTTPRequest.Abort()方法的this blog post。我相信这就是你要找的东西。

答案 2 :(得分:0)

最糟糕的情况是你可以尝试这样的事情

var isRequestCancelled = false;

isRequestCancelled = false;

$.post({ url:"", success:function{
   if(isRequestCancelled){
     //Alert the user with cancel message
   }
   else{
     //Confirm the user
   }
}
});

//Show a cancel buttons once you post to server and on cancel click set the global variable.

$(".cancel").click(function(){ isRequestCancelled = true;});