Javascript Ajax:如何将所有sequantialUpload存储到一个数组中?
我正在使用Ajax开发一个文件上传应用程序,它列出了上传的文件而不刷新页面,用户可以下载作为Javascript Ajax:如何将所有sequantialUpload存储到一个数组中?,javascript,jquery,arrays,ajax,Javascript,Jquery,Arrays,Ajax,我正在使用Ajax开发一个文件上传应用程序,它列出了上传的文件而不刷新页面,用户可以下载作为.zip上传的所有文件 问题是,我想将一个包含所有文件路径的数组(POST方法)发送到我的后端,以便将它们压缩为.zip,并且我在将所有路径存储到一个数组中时遇到一些问题,如下所示:array=['path1',path2',path3'] 由于文件是一个接一个上传的,下面是我的数组在console.log()上发生的情况: array = ['path1'] array = ['path2'] arra
.zip
上传的所有文件
问题是,我想将一个包含所有文件路径的数组(POST方法)发送到我的后端,以便将它们压缩为.zip
,并且我在将所有路径存储到一个数组中时遇到一些问题,如下所示:array=['path1',path2',path3']
由于文件是一个接一个上传的,下面是我的数组在console.log()上发生的情况:
array = ['path1']
array = ['path2']
array = ['path3']
...
后端希望将所有文件直接发送到一个数组中,以便将它们分组到.zip
文件中。我怎么做
以下是ajax上传代码:
$("#fileupload").fileupload({
dataType: 'json',
sequentialUploads: true, /* SEND THE FILES ONE BY ONE */
done: function (e, data) {
if (data.result.is_valid) {
mylist = [];
mylist.push(data.result.url);
console.log(mylist); /* HERE IS THE CONSOLE.LOG() */
$(document).on('submit', '#formDownload', function(e){
e.preventDefault();
if($(this).is('#formDownload')) {
$.ajax({
type:'POST',
url:'/tools/getfiles/',
data:{
path:mylist, /* array that'll be received by the backend*/
csrfmiddlewaretoken:$('#formDownload input[name=csrfmiddlewaretoken]').val(),
},
});
}
});
}
}
});
有什么办法解决这个问题吗?我想我们需要更多的信息。$.fileupload
是您正在使用的插件吗?也许?您正在上载文件名(字符串)还是实际文件?@SpencerAvinger是的,这是一个插件,我正在上载实际文件,但对于列表,我只需要文件路径。您需要在后端提供特殊解决方案。你在用什么?PHP?@SpencerAvinger我在Django(python)上,我也在后端收到类似这样的数据,所以我认为这与ajax有关。。。Django集成和。