事实证明,我有一个将图像上传到服务器的功能,但有时需要的时间太长,我希望能够使用取消按钮取消所述功能。
$('#imageUploadForm').on('change',(function(e) {
e.preventDefault();
var formData = new FormData(this);
$.ajax({
type:'POST',
url: $(this).attr('action'),
data:formData,
cache:false,
contentType: false,
processData: false,
success:function(data){
console.log("success");
console.log(data);
},
error: function(data){
console.log("error");
console.log(data);
}
});
}));
用户如何通过单击停止它?
根据文档,您可以使用XMLHttpRequest.abort()方法中止请求。
但是一旦发送,您并不能真正停止请求,也就是说,您所做的是在客户端停止但服务器上的过程继续进行。
您应该向服务器发送单独的请求,以便它中断正在执行的操作,或者最好忽略响应。
我给你留下了中止 Ajax 请求的代码,3 秒后按钮再次激活以进行新的提交。