vue的axios请求改变content-type为form-data问题
更新时间:2022年09月16日 11:24:46 作者:女程序媛的修炼笔记
这篇文章主要介绍了vue的axios请求改变content-type为form-data问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
axios请求改变content-type为form-data
代码如下:
正常效果
axios无法发送‘Content-Type‘: ‘multipart/form-data‘请求
我这里写的是纯粹的前端解决方案
按照一般的写法
const req = (method, url, params) => { return axios({ method: "POST", url: url, headers: { 'Content-Type': 'multipart/form-data', Token: localStorage.logintoken }, data:params, }); };
封装完成以后你会发现后台并不能接受到你发送的数据,这是由于你发送的是request payload 但是后台做的接受是 formdata 你当然可以让你的后台小伙伴帮你修改
但是同样你可以通过qs和URLSearchParams对象的方法来解决
let params = new URLSearchParams(); //你要传给后台的key-value对 params.append('key','value');
或者
const req = (method, url, params) => { return axios({ method: "POST", url: url, headers: { 'Content-Type': 'multipart/form-data', Token: localStorage.logintoken }, data:qs.stringify(params, { arrayFormat: 'brackets' }), }); };
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Element通过v-for循环渲染的form表单校验的实现
日常业务开发中,form表单校验是一个很常见的问题,本文主要介绍了Element通过v-for循环渲染的form表单校验的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
最新评论