我最近在详读axios文档,刚好遇到了请求头设置的Content-Type,之前我都是似懂非懂,模糊的感觉,今天不忙就重新学习了下,这里借鉴了axios 配置 Content-Type - zhanglw - 博客园 (cnblogs.com)
学习心得如下:
// 创建一个axios实例
const instance=axios.create({
baseURL:'https://some-domain.com/api/',//设置请求前面的路径
timeout:5000,//设置请求响应的时间
headers:{//设置请求的表头信息,
// 说明
// Content-Type:表示以什么样的格式传数据给后端
// 常见的格式有3种:
// 1)application/json:请求体中的数据会以JSON字符串的方式传给后端(这个是axios默认的请求数据格式)
// 2)application/x-www-form-urlencoded:请求体的数据会会以表单形式(键值对)传过去
// application/x-www-form-urlencoded配置方式:
// a)用URLSearchParams 传数据
// let params=new URLSearchParams()
// params.append("id",45757)
// params.append('name','ksc')
// axios({
// method:'post',
// url:'/uesr',
// data:params
// }).then(()=>{})
// b)借助QS
// import QS from qs (这个是axios自带的)
// let params={
// id:'777',
// name:'ksc'
// }
// axios({
// method:'post',
// url:'/uesr',
// Content-Type:'application/x-www-form-urlencoded'
// data:QS.stringify(params)
// })
// 3)multipart/form-data:可以将请求体中的数据处理为一条消息,以标签为单元,用分隔符隔开,既可以上传键值对,也可以上传文件(这个一般在提交带表单(有文件的)的情况下使用)
// 上传表单
// let formdata=new FormData() (这个不仅可以用在multipart/form-data,也可以用在application/x-www-form-encoded)
// formdata.append('name','ksc')//文件也是可以传的,它会转为一个二进制数据
// axios({
// methos:'post',
// url:'/uer',
// Content-Type:'multipart/form-data',
// data:formdata
// })
// u
}
})