当ajax异步跨域访问时,由于浏览器的保护机制,会导致cookie设置的jsessionId不能保存,导致下一次ajax请求时又重复生成sessionid,导致重复要求登录。
问题解决:
java端:
response.setContentType("textml;charset=UTF-8"); response.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); response.setHeader("Access-Control-Max-Age", "0"); response.setHeader("Access-Control-Allow-Headers", "Origin, No-Cache, X-Requested-With, If-Modified-Since, Pragma, Last-Modified, Cache-Control, Expires, Content-Type, X-E4M-With,userId,token"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("XDomainRequestAllowed","1");
ajax前端:
在ajax 请求是也要加相应的东西 $.ajax({ url:url, //加上这句话 xhrFields: { withCredentials: true }, crossDomain: true, success:function(result){ alert("test"); }, error:function(){ } });
参考自:http://www.cnblogs.com/renhaisong/p/6892341.html
相关推荐
基于ajax方式的跨域请求jsonp的前后台代码
Spring Boot 使用 Redis 进行配置 Session 共享(Ajax 跨域) 源码下载。
ajax跨域请求,jsp页面+后台实例。
NULL 博文链接:https://x125858805.iteye.com/blog/2215862
一个ajax跨域请求的demo实例,前端采用jquery的ajax,后端采用tomcat集成的HttpServlet的方法接受前端的数据和返回数据
ajax跨域请求WebService.asmx,程序非常完美的跑起来了。辛苦了一下午整理出来的。怕的就是以后自己忘记了。
基于jQuery的jsonp ajax跨域请求,
Jquery跨域访问Web服务的demo源码
通过jquery的ajax处理跨域请求的DEMO,代码比较简单,仅供学习参考。
利用JQuery jsonp实现Ajax跨域请求 .Net 的*.handler 和 WebService,返回json数据
该资源为ASP.NET网站开发技术中使用Ajax进行跨域请求时利用JSONP方案解决浏览器同源策略限制的源码,比较简单,仅供参考
使用juery提交表单,实现ajax跨域请求
现在Ajax在Web项目中应用广泛,几乎可以说无处不在,这就带来另外一个问题:当Ajax请求遇到Session超时,应该怎么办? 显而易见,传统的页面跳转在此已经不适用,因为Ajax请求是XMLHTTPRequest对象发起的而不
html通过 ajax jsonp跨域请求接收和传送数据 使用HTML页面与后台跨域交互,获得后台数据或传输数据给后台
解决ajax跨域问题
AJAX(XMLHttpRequest)进行跨域请求方法详解
怎样实现Ajax 跨域访问的五种方法, 怎样实现Ajax 跨域访问的五种方法
ajax跨域请求调用webservice接口+视频教程,上次的不带视频教程,这次带一个视频教程,一个流程下来,想学不会都很难!
本资源主要介绍了AJAX跨域的解决办法,以及解决方案间的比较
Ajax跨域问题及其解决方案.docx