axios常用功能的全局配置

常用全局配置

1. 全局配置请求ip及端口号

axios.defaults.baseURL = global.HOST;

2. 配置post请求支持表单提交

(1)构建URLSearchParams对象

let params = new URLSearchParams();
params.append('username', username);
params.append('password', password);

axios.post('/query/goods',params)

(2)使用qs组件全局配置

// global config axios-post using fromData
axios.interceptors.request.use(config => {
    if (config.method === "post") {
        config.data = qs.stringify(config.data);
        config.headers['Content-Type'] = 'application/x-www-form-urlencoded';
    }
    return config;
}, err => Promise.reject(err));

3.interceptor拦截器

也可以叫中间件、钩子函数,会在特定的操作之前或之后触发。

(1)请求拦截器

在发送请求之前都会首先执行的方法。

// Request interceptor
axios.interceptors.request.use(config => {
    // Do something before request is sent
    console.log(config);
    return config;
}, err => {
    // Do something with request error
    return Promise.reject(err);
});

(2)返回值拦截器

在返回数据之后都会首先执行的方法。

// Response interceptor
axios.interceptors.response.use(res => {
    // Do something with response data
    console.log(res);
    return res;
}, err => {
    // Do something with response error
    return Promise.reject(err);
});

END

发布了146 篇原创文章 · 获赞 53 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/momDIY/article/details/86697284