axios提交FormData数据后在header中不显示
如果提交FormData数据 点击提交后header中没有Form Data
或Request Payload
但是把axios.post('/login', formData, config)
换成axios.post('/login', {a: 'a'}, config)
就会有显示 搞了半天也搞不懂这是为什么?
百度上的方法也试了 有的说是跨域的问题 我随便测试的任何一个地址都不行 Content-Type
也加了还是不行 大家能帮我看看是哪里的问题吗?
我搜站内也搜到一个同样的问题 这个问题好像也没有解决 https://segmentfault.com/q/10...
sub () {
let formData = new FormData()
formData.append('name', 'aaa')
let config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
axios.post('/login', formData, config)
}
发送文本就会有显示
发送FormData什么都不显示
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
formData提交数据应该在请求体(body)中,不在header中
看你截图,Request Payload是普通json格式提交才会出现的,FormData格式是则会出现Form Data,如下图
axios会自动识别请求格式,不需要对其进行额外的设置
你打印console.log(formData.get("name"))看一下
上传文件,需要设置请求头
headers: {'Content-Type': 'multipart/form-data'}
。axios.post(url,data)
只有两个参数,或者你要配置成一个对象,所以你应该要这样做:看下官方文档使用说明axios。只有熟悉
axios
的用法,你才不会感到疑惑,如果实在用不来,你可以自己封装,当然在axios的基础上进行封装也是可以的比如:这都是可以的,要知其然并知其所以然,才是王道。
当然,
axios
也支持全局配置:这样拦截请求做封装,主要是将 FormData 的 POST 请求和普通的 POST 请求分开处理了。