zoukankan      html  css  js  c++  java
  • axios拦截器做全局异常处理,类似java中的filter,并实现国际化

    Axios 响应拦截器是这样写的:

    axios.interceptors.response.use(res => {
      // 对响应数据做些什么
      return response
    }, err => {
      // 对响应错误做些什么
      if(err.response.status == 401){
        //使用iview的消息提示,并引入国际化组建,并调用
        ViewUI.Notice(i18n.t('error.permission'));
        //也可以使用elementui的消息提示
        //ElementUI.Message(i18n.t('error.permission'));
      }else{
        //其他情况,是业务的错误,直接返回业务逻辑错误
        console.log('err', err);
        return Promise.reject(err);//Promise.resolve(err.sresponse);可在组件内获取到服务器返回信息
      } 
    })

    Axios 请求拦截器是这样写的:

    // http request 拦截器
    axios.interceptors.request.use(
      config => {
        const token = sessionStorage.getItem('token');
        if (token ) { // 判断是否存在token,如果存在的话,则每个http header都加上token
          config.headers.authorization = token;  //请求头加上token
        }
        return config;
      },
      err => {
        return Promise.reject(err);//不能在组件中读取err信息
      })

    分享链接:https://www.jianshu.com/p/349b7ab263f8

  • 相关阅读:
    vim
    Linux 软链接和硬链接
    常用命令
    linux 二级目录结构
    关于bash shell的理解
    虚拟机网络模式
    安装虚拟机
    date 命令
    使用3种协议搭建yum仓库
    ubuntu update时发生错误
  • 原文地址:https://www.cnblogs.com/nizuimeiabc1/p/12862523.html
Copyright © 2011-2022 走看看