Javascript 将数组数组附加到FormData并通过AJAX发送

Javascript 将数组数组附加到FormData并通过AJAX发送,javascript,laravel,form-data,Javascript,Laravel,Form Data,我需要以多部分形式发送一个数组 让currentObj=this; 设formData=new formData(); for(var i=0;i{ append(`mud_table[${i}]`,mud) }) 我在这里没有看到任何嵌套数组。另外,您的mediasNames位看起来非常奇怪。你能解释一下你想发送什么数据吗?mideasName是我将函数名数组发送到控制器的作弊方式。但我需要将其附加到mideas变量TOTHANK中,以供您共享此信息@phil。我似乎没有办法在后端合并这些阵列

我需要以多部分形式发送一个数组

让currentObj=this;
设formData=new formData();
for(var i=0;i
使用此代码,我只能将files file属性从mediasData数组发送到控制器

mediasData:[function_name:mud_pdf1; original_file_name: recipt_pdf.pdf; file:{File},
function_name:mud_pdf2; original_file_name: recipt_pdf.pdf; file:{File},
function_name:mud_pdf3; original_file_name: recipt_pdf.pdf; file:{File}]
是这种格式,在后端,我只得到请求中的
媒体:[file:{file}]
格式。
我还需要发送“原始文件名”和“函数名”属性。当然,我可以将数组分为3部分并分别附加它们,但是有没有办法将每个MediaData数组索引的所有属性发送到formdata数组各自的索引中?

formdata
允许您指定一个文件名,以便处理您的
原始文件名
属性

formData.append(`medias[${i}]`,file.file,file.original\u file\u name)
PHP可以在
$\u文件['medias']['name'][$index]
或任何相关的Laravel抽象中读取这些内容。我确信它支持文件名

至于其他字段,唯一的实际选择是添加一个具有相应索引的新数组。您似乎一直在尝试使用
mediasNames
执行此操作,但它看起来更像

formData.append(`mediaFunctionNames[${i}]`,file.function\u name)

概括

let formData=new formData();
this.mediaData.forEach((文件,i)=>{
append(`medias[${i}]`,file.file,file.original\u file\u name)
formData.append(`mediaFunctionNames[${i}]`,file.function\u name)
})
这个.mud_table.name.forEach((mud,i)=>{
append(`mud_table[${i}]`,mud)
})

我在这里没有看到任何嵌套数组。另外,您的
mediasNames
位看起来非常奇怪。你能解释一下你想发送什么数据吗?mideasName是我将函数名数组发送到控制器的作弊方式。但我需要将其附加到mideas变量TOTHANK中,以供您共享此信息@phil。我似乎没有办法在后端合并这些阵列,而不是一次发送所有阵列。我忘了提到我一直在使用vue.js来实现这一点。