vue中axios的基本配置

Posted 纪元丶

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue中axios的基本配置相关的知识,希望对你有一定的参考价值。

vue中axios的基本配置

 

 

1.配置默认地址   

  axios.defaults.baseURL = "";

2.发送数据详解

  axios 使用 post 发送数据时,默认是直接把 json 放到请求体中提交到后端的。也就是说,我们的 Content-Type 变成了 application/json;charset=utf-8 ,这是axios默认的请求头content-type类型。但是实际我们后端要求的 ‘Content-Type‘: ‘application/x-www-form-urlencoded‘ 为多见,这就与我们不符合。所以很多同学会在这里犯错误,导致请求数据获取不到。明明自己的请求地址和参数都对了却得不到数据。 

  post请求常见的数据格式(content-type)

  1.Content-Type: application/json : 请求体中的数据会以json字符串的形式发送到后端

  2.Content-Type: application/x-www-form-urlencoded:请求体中的数据会以普通表单形式(键值对)发送到后端

  3.Content-Type: multipart/form-data: 它会将请求体的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。

Content-Type: application/x-www-form-urlencoded配置详解:

  //请求头

  axios.defaults.headers.post["Content-Type"]="application/x-www-form/urlencoded"

   //请求体-查询字符串

axios.defaults.transformRequest = [(data)=>{

            return qs.stringify(data,{arrayFormat:‘repeat‘});

}]

Content-Type: application/json:

这种是axios默认的请求数据类型,我们只需将参数序列化json字符串进行传递即可,所以可以无需配置。

下面给出一个配置好的例子:

/**
    axios的配置文件
    1、设置post数据格式为表单格式
    2、设置基路径
    3、序列化字符串
*/
import axios from ‘axios‘;
import qs from ‘qs‘;
//配置
//配置前后端数据交互的请求头:
axios.defaults.headers.post[‘Content-Type‘] = ‘application/x-www-form-urlencoded;charset=UTF-8‘;
// 设置后台的访问地址
axios.defaults.baseURL = ‘地址‘;
// 拦截
axios.interceptors.request.use((config) => {
    if (config.method === ‘post‘) {
        config.data = qs.stringify(config.data,{arrayFormat: ‘repeat‘ });
    }
    return config;
}, (error) => {
    return Promise.reject(error);
});

export default axios;


//在vue主组件中引入即可
// import axios from ‘@/http/axios‘

 

以上是关于vue中axios的基本配置的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段14——Vue的axios网络请求封装

回归 | js实用代码片段的封装与总结(持续更新中...)

vue中axios请求成功了如何把数据渲染到页面上?

vue项目axios的使用实例详解

vue.js 配置axios 用来ajax请求数据

vue_cli封装axios--完整代码