axios 使用

Posted 逆光飞翔23

tags:

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

1、安装

  cnpm install axios --save

2、引入

import axios from ‘axios‘
Vue.prototype.axios = axios

3、使用

this.axios.post(this.URL(‘mall/goods‘), {
    access_token: ‘‘
}).then(function (response) {
    console.log(response);
})

4、配置拦截器

// 请求拦截器
axios.interceptors.request.use(function (config) {
    let _this = new Vue();
    var data = {
        platform:_this.getPlatform()
    };
    Object.assign(config.data, data)  
// 在发送请求之前做些什么
  return config;
}, function (error) {
    // 对请求错误做些什么
  return Promise.reject(error);
});
// 响应拦截器
axios.interceptors.response.use(function (response) {
    // 对响应数据做点什么
    return response;
  }, function (error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  });

5、问题

  在发送请求的时候,会发送两条请求,第一条请求没有传参,第二条请求传参

  第一次发送的method是OPTIONS,进行预检,询问是否允许跨域,可以通过以下的方法去掉:

  在请求拦截器里面添加这句

config.headers[‘Content-Type‘] = ‘application/x-www-form-urlencoded‘

  来降级为简单请求,这样的话,就不会发送OPTIONS请求

 

以上是关于axios 使用的主要内容,如果未能解决你的问题,请参考以下文章

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

ajax与 axios的基础讲解(附代码及接口)

项目集成element-plus和axios

前端面试题之手写promise

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

执行带有axios的GET请求时出现401错误