vue axios - SpringBoot 跨域问题 携带cookies 问题解决
前端地址:127.0.0.1:8080
后端地址:127.0.0.1:8081
后端设置解决跨域,spring boot 注解方式
@CrossOrigin(origins = "http://127.0.0.1:8080", allowCredentials = "true")
Springboot 拦截器导致 @CrossOrigin 跨域失效
CROS 复杂请求时会首先发送一个 OPTIONS 请求做嗅探,来测试服务器是否支持本次请求,请求成功后才会发送真实的请求;而 OPTIONS 请求不会携带数据,导致这个请求被拦截了,直接返回了状态码,响应头中没携带解决跨域问题的头部信息,出现了跨域问题。
原文:https://cloud.tencent.com/developer/article/1768352
解决:在拦截器中配置让OPTIONS 请求放行
@Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { //OPTIONS 请求统统放行 if ("OPTIONS".equalsIgnoreCase(request.getMethod())){ return true; } }
axios 携带cookies
// 设置cookies-token this.$cookies.set('token', resp.data.data, 60 * 20, "/", "", true, "None") // 设置axios 携带cookies axios.defaults.withCredentials = true;

免责声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
THE END
二维码
共有 0 条评论