问题表述
想要通过JS调用后端接口, 但是发现from-data参数传递不过去, 并且通过前端控制台发现参数为空
贴下错误的代码:
console.log(fileName);
// 创建 FormData 对象
const formData = new FormData();
console.log(formData);
formData.append('test',"1234");
formData.append('fileName', fileName);
console.log(formData);
//
const response = await fetch('http://localhost:8080/download', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: formData
});
console.log(response);
解决方案
问题分为两个部分
- 传递参数是因为请求头导致,注释掉即可
headers: {
'Content-Type': 'application/json'
},
- 打印formData为空: 因为fromData是特殊对象,用下面方法即可
// 使用 entries 方法遍历键值对
for (let [key, value] of formData.entries()) {
console.log(key + ': ' + value);
}
个人介绍
我是DarkChink, 一个什么都懂一点的工程师, 如果有问题欢迎私信