zoukankan      html  css  js  c++  java
  • vue 拦截器

    这里用vue的axios

    首先去下载axios=>npm install axios

    安装完毕后重写axios

    我这里创建文件夹了service文件夹,在下边创建了httpAxios文件

    引用vue文件及axios文件

    给axios一个地址,及头部信息和设置跨域请求

    axios.defaults.baseURL='';
    axios.defaults.withCredentials =true;
    
    axios.defaults.headers.put['Conetent-type']='application/json';
    axios.defaults.headers.post['Content-type']='application/json';

    设置request拦截器

    axios.interceptors.request.use(
      (config)=>{
      //判断token,存在token,将token放入headers中发送给服务端,后台进行判断 if(store.state.user.token){ config.headers.Authorization='${store.state.user.token}' } return config; }, (err)=>{ return Promise.reject(err); } );

    设置response拦截器

    axios.interceptors.response.use(
      (response)=>{
        return response;
      },
      (error)=>{
        if(error.response){
          switch (error.response.status) {
            case 401:
              router.replace({
                name:'login',
                query:{redirect:router.currentRoute.fullPath}
              });
              break;
          }
        }
        return Promise.reject(error.response.data);
      }
    );
    export const request=(config)=>{
      return axios(config);
    }
    export const request=(config)=>{
      return axios(config);
    }

     判断返回状态是否没问题,存在问题进行处理。

    页面调用的时候稍微修改一番。

    引用重写文件

    
    
    import request from '../service/httpAxios'
    request({
                  method:'post',
                  url:'',
                  data:{}
                }).then(function(respones){
    
                }).catch(function(error){
                  console.log(error);
                });

    第一次写拦截器小记。

  • 相关阅读:
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/yeyuqian/p/14047011.html
Copyright © 2011-2022 走看看