将数组追加到 FormData 并通过 AJAX 发送
2022-08-30 02:02:52
我正在使用ajax提交一个包含数组,文本字段和文件的多部分表单。
我将每个VAR附加到主数据中,如下所示
var attachments = document.getElementById('files');
var data= new FormData();
for (i=0; i< attachments.files.length; i++){
data.append('file', attachments.files[i]);
console.log(attachments.files[i]);
data.append ('headline', headline);
data.append ('article', article);
data.append ('arr', arr);
data.append ('tag', tag);
然后我使用ajax函数将其发送到PHP文件以存储在sql DB中。
$.ajax({
type: "post",
url: 'php/submittionform.php',
cache: false,
processData: false,
contentType: false,
data: data,
success: function(request) {$('#box').html(request); }
})
但是在PHP方面,变量(数组)显示为字符串。arr
当我不用ajax作为表单数据发送它,而是使用简单的选项时,我确实在PHP端将其作为数组,但是我也无法发送文件。$.POST
任何解决方案?