首页 / 知识
VUE axios发送FormData格式数据请求
2023-04-11 13:21:00

VUE axios发送FormData格式数据请求
axios 默认是 Payload 格式数据请求,但有时候后端接收参数要求必须是 Form Data 格式的,所以我们就得进行转换。Payload 和 Form Data 的主要设置是根据请求头的 Content-Type 的值来的。
Payload Content-Type: 'application/json; charset=utf-8'
Form Data Content-Type: 'application/x-www-form-urlencoded'
一、设置单个的POST请求为 Form Data 格式
axios({
method: 'post',
url: 'http://localhost:8080/login',
data: {
username: this.loginForm.username,
password: this.loginForm.password
},
transformRequest: [
function (data) {
let ret = ''
for (let it in data) {
ret += encodeURIComponent(it) + '=' + encodeURIComponent(data[it]) + '&'
}
ret = ret.substring(0, ret.lastIndexOf('&'));
return ret
}
],
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
主要配置两个地方,transformRequest 方法进行数据格式转换, Content-Type 值改为 'application/x-www-form-urlencoded'
二、全局设置POST请求为 Form Data 格式
因为像上面那样每个请求都要配置 transformRequest 和 Content-Type 非常的麻烦,重复性代码也很丑陋,所以通常都会进行全局设置。具体代码如下
import axios from 'axios'
import qs from 'qs'
// 实例对象
let instance = axios.create({
timeout: 6000,
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
}
})
// 请求拦截器
instance.interceptors.request.use(
config => {
config.data = qs.stringify(config.data) // 转为formdata数据格式
return config
},
error => Promise.error(error)
)
就是我们在封装 axios 的时候,设置请求头 Content-Type 为 application/x-www-form-urlencoded。 然后在请求拦截器中,通过 qs.stringify() 进行数据格式转换,这样每次发送的POST请求都是 Form Data 格式的数据了。 其中 qs 模块是安装 axios 模块的时候就有的,不用另行安装,通过 import 引入即可使用。
|
最新内容
相关内容
python如何操作mysql数据库
python如何操作mysql数据库,培训,标准,项目,密码,数据库,接口,表字,操作,用户,机子,Python标准数据库接口为PythonDB-API,PythonDB-API为开发python什么是格式化
python什么是格式化,位置,数字,地方,代码,培训,评论,第一,整数,字符串,方法,本文总结一下python格式化文本的方法,需要的小伙伴可以参考。1、python如何使用python发送邮件和接
python如何使用python发送邮件和接收邮件?,培训,状态,信息,代码,号码,工作,邮件,函数,尺寸,模块,发邮件是大家工作中最常用到的。今天来看一python列表数据如何增加和删除
python列表数据如何增加和删除,数据,培训,列表,索引,之后,末尾,跬步,结果,坚持不懈,字符串,python列表数据如何增加和删除1、使用append函数python数据可视化库有哪些
python数据可视化库有哪些,数据,培训,设计,世纪,图表,所在,缩放,方式,图形,坐标轴,python数据可视化库有哪些1、Matplotlib具有很多强大且复python列表的数据类型分析
python列表的数据类型分析,分析,设计,一致,培训,元素,数据类型,列表,索引,实例,逻辑,python列表的数据类型分析说明1、设计出一种循环的数据python使用f格式化字符串
python使用f格式化字符串,培训,字符串,变量,放入,引号,函数,以上,之间,方式,方法,python使用f格式化字符串1、若要格式化字符串,可在字符串开pythonformat的格式化操作
pythonformat的格式化操作,名称,数字,位置,培训,字符串,参数,操作,索引,方法,括号,pythonformat的格式化操作方法说明str.format(*args,**kwapython如何用python爬取数据
python如何用python爬取数据,数据,灵活,培训,一致,方法,数据类型,属性,对象,类型,标签,如何用python爬取数据1、find_all()的爬取find_all():python请求头如何自定义?
python请求头如何自定义?,培训,类型,内容,头部,字典,实例,文本,以前,以上,参数,python请求头如何自定义?1、说明要自定义请求头,可以使用heade关于sql Server:将文件存储在数据库
关于sql Server:将文件存储在数据库中而不是文件系统中?,关于sql Server:将文件存储在数据库中而不是文件系统中?,性能,文件系统,文件存关于c#:关键值对数据结构的最佳实现?
关于c#:关键值对数据结构的最佳实现?,关于c#:关键值对数据结构的最佳实现?,数据结构,我想,让我,假设,Best implementation for Key Value P