axios 解决跨域携带写入cookie问题

使用Vue-cli 和 Tomcat 7 编写的前后端分离项目
由于同源策略
axios 默认跨域请求不携带 cookie 并且 无法将响应头cookie写入浏览器
这导致每次请求都是一次新的会话
下面是解决办法

在 Vue 中 main.js 设置

// 允许请求中携带cookie
axios.defaults.withCredentials=true

下面是设置tomcat 拦截器,

    @Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {HttpServletResponse resp = (HttpServletResponse) servletResponse;HttpServletRequest req = (HttpServletRequest) servletRequest;// 跨域访问允许源resp.setHeader("Access-Control-Allow-Origin", req.getHeader("Origin"));resp.setHeader("Access-Control-Allow-Headers","Accept,Authorization,DNT,Content-Type,Referer,User-Agent");// 允许跨域访问使用cookieresp.setHeader("Access-Control-Allow-Credentials", "true");filterChain.doFilter(servletRequest, servletResponse);}

设置以上两项就可以解决跨域cookie写入和携带问题

但 Access-Control-Allow-Headers 设置是什么意思,有没有朋友知道的?


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部