首先我在谷歌浏览器重打开本地服务http://localhost:8082/x93ksxd9das3ksedk链接 (相当于模拟了一个用户登录)然后再跳转到我商品的详情页 它是一个静态的html存放在阿里云OSS上的 访问路径:http://testmh5.shhyxypsx.com/shop/goods/YW9F6A461B8BA9.html
这个页面上有个加入购物车的功能。是通过ajax异步请求 掉本地接口http://localhost:8082/goods/addcart
因为跨域的问题 当我发起ajax异步请求时 sessionid的值变了。
同时有个立即购买的功能 是直接跳转到本地http://localhost:8082/goods/buy sessionid没有变正常
请问我如何解决这个异步跨域调用sessionid值会被改变的问题
如果非要让不同域使用同一个session的话,可以做一些session同步方案,比如现在的一些大公司的做法,可以将session的一些关键信息用cookie-store的方式,存在客户端,然后不同域直接通信时发一个passcookie的请求。比如当访问A域时,服务端可以将A域下的session信息以cookie方式同步到B域下,方式很简单302到B域带上set-cookie头就可以了,然后B域下的请求就可以将关键的cookie-store的session信息带到服务端,以达到异步请求session失效的问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。