最近写项目遇到前端请求拦截器将token加到请求头之中,但是在java页面怎么样也获取不到的问题作以记录,以便遇见之后方便查找。

原因:(百度出来的)在前后端分离项目中,前端请求据说会先发送一个预请求,这个请求不能加入自定义元素,据说可以改已有的,但我试了,没管用。所以需要在后端拦截器将这个预请求给放过,处理真正的请求。

下面是将需要的代码进行CV大法

前端需要的代码

在vue脚手架的main函数中结尾加上请求拦截器,将token放在请求头之中

axios.interceptors.request.use(
    config => {
      if (localStorage.getItem('token') != null && localStorage.getItem('token') !== '') {
        config.headers.token = localStorage.getItem('token'); // 让每个请求携带自定义token 请根据实际情况自行修改
      }
      return config
    },
    error => {
      console.log(error)
      Promise.reject(error)
    }
)

后端需要的代码

在boot项目的拦截器之中将下列代码CV到preHandle方法最上边

if (HttpMethod.OPTIONS.toString().equals(request.getMethod()))
            return true;

over  ber~

Logo

前往低代码交流专区

更多推荐