我从一个简单的Angular应用程序以FormData
的形式发送一个http post请求,将内容类型设置为multipart/form-data
,后端接收传入的请求并使用multer解析它
在multer解析请求后,我总是发现req.body
为空
这是一个minimal reproduction
重现步骤
- 安装依赖项
npm install
- 从后端目录运行后端部分
npm start
- 从前端目录运行前端部分
npm start
- 在
localhost:4200
上打开浏览器,它会直接向后台发送一个HTTP请求,而不需要填写任何表单,收到的响应显示在同一页面上。
这里的问题是,它显示的是{body:null,..}
,而实际上应该是{body: {content: "test"}}
1条答案
按热度按时间gg58donl1#
问题出在
toFormData
方法的前端,它构造了不正确的formData
,这就是为什么它在服务器上没有被解析/为空。有两种方法可以解决这个问题:
1.将
payload
更改为对象,而不是数组:1.要将
payload
用作数组,需要循环一个数组,然后循环对象键。尝试用这个替换它: