ajax发送多个文件,使用ajax发送多个文件而不使用html表单

这篇博客探讨了在不使用HTML表单的情况下,通过Ajax上传多个文件遇到的错误。作者尝试将文件数组附加到FormData对象中,但在PHP端遇到了未定义索引的错误。博客提供了相关代码示例,并引用了Stack Overflow上的问题和答案,寻求解决上传文件数组的方法。重点在于理解如何正确地处理多文件上传的数据结构和PHP端的文件接收方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用具有多个上传属性的单个文件输入字段。我已经测试过单个文件传递,它工作。现在我试图用数组传递 传递文件,但是有一个错误。 没有任何形式。使用ajax发送多个文件而不使用html表单

HTML:

JS:

var formData = new FormData();

var files = [];

for(var i = 0; i < length; i++) {

files[i] = $('input', '#fileInfo')[0].files[i];

}

formData.append('userfile', files);

$.ajax({

url: "example.php",

data: formData,

type: 'POST',

dataType: 'json',

processData: false,

contentType: false,

success: function(res)

{

console.log("done");

}

});

PHP:

$length = sizeof($_FILES['userfile']['name']);

json_encode(array($length));

error.log中:

PHP Notice: Undefined index: userfile in /path/to/php on line 2, referer: http://localhost/test

+0

https://stackoverflow.com/questions/19617996/file-upload-without-form –

+0

这里给出了完整的代码示例https://stackoverflow.com/questions/45326498/ajax-to-php-image-upload/45326793#45326793 –

+0

从哪里'长度'来? –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值