无法发起POST请求:执行append操作后formData为空
FormData append后为空的解决办法
可能的原因及处理方案:
确认files数组的有效性
先检查files是不是包含有效File对象的数组/FileList。循环前打印console.log(files),确认每个元素都是File类型,避免拿到DOM元素或其他非文件对象。正确查看FormData内容
直接console.log(formData)看不到内部数据,因为FormData是特殊的表单数据对象。要查看内容可以用以下方式:// 遍历所有键值对 for (let [key, value] of formData.entries()) { console.log(key, value); } // 或者获取所有名为file的文件 console.log(formData.getAll('file'));优化循环逻辑
如果files是类数组对象(比如input的files属性),用for...of循环更稳妥,避免下标循环可能出现的问题:const formData = new FormData(); for (const file of files) { formData.append('file', file); }

内容的提问来源于stack exchange,提问作者Тарас Гуледза
相关产品推荐
相关产品推荐

