gpt4 book ai didi

javascript - 中止多文件上传 AJAX 请求

转载 作者:数据小太阳 更新时间:2023-10-29 06:01:41 27 4
gpt4 key购买 nike

我正在尝试使用进度条中止多文件上传,显示进程的状态。

我想要实现的是在点击中止按钮时完全中止多文件上传;停止进度条并清除在最初触发的多文件上传过程中可能已上传的每个文件。

下面是我的代码:

var AJAX = $.ajax({ 
xhr: function() {
var XHR = new window.XMLHttpRequest();

XHR.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {

var PROGRESS = Math.round((e.loaded/e.total)*100);
$('#PROGRESS_BAR').text(PROGRESS);

} }, false); return XHR; },
url : '/php.php',
type : 'POST',
data : DATA,
cache : false,
processData: false,
contentType: false,
beforeSend : function() { },
success : function() { }
});

$(document).on('click', '.ABORT', function(e) {
AJAX.abort();
});

我使用上面的代码来动态上传带有进度条的图片。

我发现很多文章都使用 .abort() 来停止进程,但这似乎只在浏览器端有效,在服务器端无效。

我可以用什么方式完全停止上传,如:在客户端和服务器端,因为 .abort() 不能使我获得理想的结果?

最佳答案

试试这个:

var XHR = new window.XMLHttpRequest();
var AJAX = $.ajax({
xhr: function() {
XHR.upload.addEventListener('progress', function(e) {
if (e.lengthComputable) {

var PROGRESS = Math.round((e.loaded/e.total)*100);
$('#PROGRESS_BAR').text(PROGRESS);

} }, false); return XHR; },
url : '/php.php',
type : 'POST',
data : DATA,
cache : false,
processData: false,
contentType: false,
beforeSend : function() { },
success : function() { }
});

$(document).on('click', '.ABORT', function(e){
XHR.abort();
});

关于javascript - 中止多文件上传 AJAX 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27749521/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com