最近写项目遇到前端请求拦截器将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~
————————————————
原文链接:https://blog.csdn.net/weixin_45355274/article/details/121014879