前后端分离,SpringBoot拦截器中,获取的请求头为NULL。
前端用axios发起请求,后端拦截器拦截后,获取的请求头为空
已经在Vue项目的的main.js
中设置了
//允许携带cookie
axios.defaults.withCredentials = true;
axios发起请求的代码:
this.$axios.get('/admin/get', {params: this.queryInfo}).then((response) => {
if (response.data.code == "1") {
//第一个data是response的属性,第二个是自定义实体里面的data。。。
this.adminList = response.data.data.adminList;
this.totalPages = response.data.data.totalPages;
this.totalElements = response.data.data.totalElements;
} else {
this.$message.error(response.data.message);
}
});
浏览器中查看请求,请求头中的参数命名存在,但是后端就是获取不到:
后端拦截器中获取的请求头为null
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题已经解决
原因:
原因是后端会接收到两次请求:
OPTIONS
请求,这个请求不会携带参数,所以获取不到数据GET/POST
,携带参数解决方法:
如果是
OPTIONS
请求,则放行,否则进行拦截判断。参考文章:SpringBoot跨域,拦截器中,第一次获取的请求头为NULL,发送两次请求的处理方式