Axios的使用总结

时间:2020-06-15 23:16:31   收藏:0   阅读:103

技术概括

答:Axios是一个基于promise的HTTP库,可以用在浏览器和node.js中。
axios的作用是什么呢:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。学习Axios的原因是vue更新到2.0之后,作者就宣告不再对vue-resource更新,而是推荐的axios

技术详情

一、安装

//使用 npm:
$ npm install axios

二、实例

// 为给定 ID 的 user 创建请求
axios.get(‘/user?ID=12345‘)
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

axios.post(‘/user‘, {
    firstName: ‘Fred‘,
    lastName: ‘Flintstone‘
  })
  .then(function (response) {
    console.log(response);
  })
  .catch(function (error) {
    console.log(error);
  });

三、axios API

// 发送 POST 请求
axios({
  method: ‘post‘,
  url: ‘/user/12345‘,
  data: {
    firstName: ‘Fred‘,
    lastName: ‘Flintstone‘
  }
});

问题 & 解决过程

    const postData=JSON.stringify(this.formCustomer);
    ‘Content-Type‘:‘application/json‘}
     
    const postData=Qs.stringify(this.formCustomer);//过滤成?&=格式
    ‘Content-Type‘:‘application/xxxx-form‘}
    // http request 请求拦截器,有token值则配置上token值
    axios.interceptors.request.use(
        config => {
            if (token) {  // 每次发送请求之前判断是否存在token,如果存在,则统一在http请求的header都加上token,不用每次请求都手动添加了
                config.headers.Authorization = token;
            }
            return config;
        },
        err => {
            return Promise.reject(err);
        });
     
    // http response 服务器响应拦截器,这里拦截401错误,并重新跳入登页重新获取token
    axios.interceptors.response.use(
        response => {
            return response;
        },
        error => {
            if (error.response) {
                switch (error.response.status) {
                    case 401:
                        // 这里写清除token的代码
                        router.replace({
                            path: ‘login‘,
                            query: {redirect: router.currentRoute.fullPath}//登录成功后跳入浏览的当前页面
                        })
                }
            }
            return Promise.reject(error.response.data) 
        });

总结

答:在项目开发过程中,不断遇到门坎,从而去学习新的知识来攻克它,学习的过程是艰辛的,但学习过后,自身能力的突破是令人激动的!

参考博客

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!