axios如何为某次请求单独设置请求头?

在全局的拦截器里设置了token了,
clipboard.png

但是在登陆页面的那个请求是希望没有token的,这个应该怎么写

clipboard.png
(登陆页面的请求)

阅读 6.5k
2 个回答

楼主,你好!可以根据特定的 url 标识来处理这个问题。

// 伪代码
axios.interceptors.request.use((config) => {
  // 'login' 其实就是 this.GET_CODE_URL
  if (config.url === 'login') {
        return config;
    }  
    
  if (!Token) {
    // 还是你之前的业务逻辑
    ......
    }   
})

如有帮助,麻烦点击下采纳,谢谢~

你采纳的这个答案不是最好的方案。

最好的方式是将是否要注入token,如何注入搞成配置项,而不是在代码里面写死判断逻辑。这样处理隐患很大。

// 例如是否要传入,默认为true,不需要传入单独设置false就行
if (config.isToken) {
  
}

或者判断config中是否包含token字段,如果没有,才从storage中获取,有就直接取配置中的token,不想传入token,将token设置为空字符串即可

if (Object.hasOwnProperty.call(config, 'token')) {

}

... 
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题