Ajax跨域每次请求产生新的sessionId

本文探讨了Ajax跨域请求时如何处理sessionId的问题。在多语言应用场景中,需要在不同应用间共享语言ID。浏览器通常在首次请求时分配sessionId,并在后续请求中使用同一值。然而,使用Ajax跨域设置数据并切换选项卡时,若不注意请求类型,可能会导致每次请求产生新的sessionId。作者提醒,使用GET请求可以避免这个问题,因为JSONP本质上是GET请求。通过示例,作者展示了正确设置和检查sessionId的方法。
摘要由CSDN通过智能技术生成

Ajax跨域每次请求产生新的sessionId

在处理多语言过程中,需要在门户中往其它应用的session中设置语言ID,跳转到其它应用时从session中获取出语言ID设置语言,才能整个应用圈使用同一种语言。

浏览器在使用请求首页访问时会把获取到的sessionId返回到浏览器中,如下图:
这里写图片描述

当第2次请求时则使用已有的,如下图:
这里写图片描述

那么我们跨域往这个以下sessionId中设置数据,再打开新的选项卡,进入刚刚跨域的网页时,获取到的sessionId就是当前的sessionId,那么我们可以在应用未打开之前设置自己想设置的内容,具体场景: 多语言,多数据源,等等均可,视业务用途而定。

JSESSIONID=E2D5893F72E1961E327DA5B1D56406E9

切记: ajax中的type一定要用GET,起初我就是用的POST然后每次返回的sessionId不一样,这个坑爬了一会,因为知道jsonp请求其实最终会转成get请求访问,忽略了。

通过拦截是看不出效果,因为type: get, post都是以下的显示信息,如下图:
<

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值