`
namezhou
  • 浏览: 158953 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ajax 跨域请求时sessionId不固定问题解决

 
阅读更多

当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

分享到:
评论

相关推荐

    跨域共享session (实现http跳转https 共享session)

    1. **JSONP(JSON with Padding)**:JSONP是一种早期的跨域解决方案,但不适用于需要服务器端存储session的情况,因为它只能用于获取数据,无法设置Cookie。 2. **CORS(Cross-Origin Resource Sharing)**:CORS是...

    React如何解决fetch跨域请求时session失效问题

    前言 fetch在reactjs中等同于 XMLHttpRequest,它提供了许多与XMLHttpRequest相同的功能,但被设计成更具可扩展性和高效性。...请注意,fetch 规范与 jQuery.ajax() 主要有两种方式的不同,牢记: 当

    基于Cookie的Session跨域.zip

    然而,由于同源策略的限制,传统的Cookie和Session机制在处理跨域请求时存在障碍。跨域是指一个域下的文档或脚本尝试请求另一个域下的资源,这在现代Web应用的分布式架构中非常常见。当用户在一个子域名下登录后,若...

    浅谈Ajax跨域Session和跨域访问

    Ajax跨域请求涉及到浏览器的同源策略(Same-origin Policy),这是一个安全机制,限制了JavaScript只能访问与当前页面同协议、同域名、同端口的资源。然而,随着Web服务的开放和API接口的广泛使用,跨域请求的需求变...

    解决前后端分离 vue+springboot 跨域 session+cookie失效问题

    综上所述,解决Vue+Spring Boot跨域和Session失效问题的关键在于配置CORS策略以允许携带Cookie的跨域请求,并确保Session配置正确。同时,考虑采用Token认证机制,如JWT,以实现更灵活的认证和授权管理。

    Vue使用axios引起的后台session不同操作

    通过前端axios配置的修改和后端CORS配置的调整,可以有效解决跨域请求中sessionID不一致的问题,确保用户会话能够在跨域请求中正确维护。这样的配置对于实现安全的跨域通信至关重要,对开发人员具有很好的参考价值。

    javascript 利用ajax获取验证码内容和session值

    在实际项目中,还需要考虑错误处理、跨域问题、数据加密等问题,确保代码的健壮性和安全性。对于初学者,理解并熟练掌握JavaScript、AJAX以及Session的使用是Web开发的基本功,也是进一步学习更复杂技术(如前后端...

    vue+前后端的跨域问题解决b sesson不一样解决.zip

    总结来说,解决Vue+后端跨域问题主要通过配置CORS,处理携带Cookie的跨域请求,以及正确管理Session。在开发环境中,利用Vue CLI的代理功能可以简化调试。同时,确保在实现跨域的同时,也要关注安全性,防止潜在的...

    php中http与https跨域共享session的解决方法

    在PHP中处理HTTP和HTTPS跨域Session时,开发者需要手动管理Session ID的传递,同时关注安全问题。通过在客户端存储Session ID,并在请求中携带,可以实现在不同协议间的Session共享。然而,必须采取适当的加密和安全...

    一般应用程序中如何处理Web页面的Session问题

    这种方式不需要依赖于Cookie或服务器端的Session,而是将认证信息直接嵌入到每个请求中,这对于跨域请求特别有用。 6. **优化Session配置:** 对于使用.NET等框架开发的应用程序来说,合理配置Session状态存储是...

    ajax 实时消息

    - **跨域问题**:考虑CORS配置,允许Ajax请求跨越不同的源。 - **安全性**:对敏感数据进行加密,使用HTTPS确保通信安全。 总之,Ajax实时消息的实现涉及到前端与后端的紧密配合,合理利用Session和Ajax技术,...

    学习Ajax极好的例子

    Ajax请求中,可以将SessionID通过Cookie或者URL参数传递,以便服务器识别并保持会话状态。 6. **使用jQuery简化Ajax**:jQuery库提供了方便的$.ajax()和$.getJSON()等函数,简化了Ajax调用过程,降低了开发难度。 ...

    uploadify在Firefox下丢失session问题的解决方法

    本文将详细探讨一个特定的问题,即“uploadify在Firefox下丢失session问题的解决方法”,这是一个常见的前端上传插件与后端session管理不兼容的问题,特别是在使用JSP和Firefox浏览器时。 首先,了解session的基本...

    ajax无刷新用户登录

    如果登录接口不在同源策略允许的范围内,需要服务器开启CORS(跨源资源共享)头,允许Ajax请求跨域访问。 ```http Access-Control-Allow-Origin: * ``` ### 7. 实现示例 在实际项目中,可以使用前端框架如jQuery...

    JquerySession.js

    在获取Session时,可能通过URL参数或请求体携带Session ID。具体实现可能依赖于后端框架,如PHP、ASP.NET或Node.js。 4. **跨域问题** 默认情况下,由于浏览器的安全策略,JavaScript的AJAX请求受限于同源策略。...

    【ASP.NET编程知识】asp.net基于JWT的web api身份验证及跨域调用实践.docx

    在身份验证方面,传统的基于Cookie的Session ID的做法面临着跨域提交Cookie的问题,于是Json Web Token(JWT)成为了一种不错的身份验证及授权方案。 在本文中,我们将编写一个基于JWT进行身份验证的ASP.NET Web ...

    浅谈关于axios和session的一些事

    开启这个选项后,Axios 将在跨域请求时发送 cookies,这包括 Session ID。但这样做并不意味着问题就解决了。浏览器的安全机制(CORS - 跨源资源共享)要求服务器明确表示允许前端携带认证信息。因此,后端服务器需要...

    前台js改变Session的值(用ajax实现)

    每个用户会话都有一个唯一的SessionID,服务器通过这个ID识别并存储特定用户的数据。而Ajax(Asynchronous JavaScript and XML)则是一种使网页实现异步更新的技术,它允许在不刷新整个页面的情况下与服务器交换数据...

    处理AJAX呼叫的特定于身份验证的问题

    开发者可以通过在每个AJAX请求中传递一个会话ID,或者使用基于令牌的身份验证(如JWT)来解决这个问题。 3. **JSON Web Tokens (JWT)**:JWT是一种轻量级的身份验证机制,适合在客户端和服务器之间传输安全信息。在...

Global site tag (gtag.js) - Google Analytics