ajax异步session值不唯一 总是改变 解决办法
2019独角兽企业重金招聘Python工程师标准>>>
Ajax跨域请求保证同一个session的问题
我们知道,根据浏览器的保护规则,跨域的时候我们创建的sessionId是不会被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的sessionId就不会被保存下来,也就是说,每一次的请求,服务器就会以为是一个新的人,而不是同一个人,为了解决这样的办法,下面这种方法可以解决这种跨域的办法。
我们自己构建一个拦截器,对需要跨域访问的request头部重写
向下面这样:
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletResponse res = (HttpServletResponse) servletResponse; HttpServletRequest request=(HttpServletRequest)servletRequest; res.setContentType("textml;charset=UTF-8"); res.setHeader("Access-Control-Allow-Origin", request.getHeader("Origin")); res.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE"); res.setHeader("Access-Control-Max-Age", "0"); res.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"); res.setHeader("Access-Control-Allow-Credentials", "true"); res.setHeader("XDomainRequestAllowed","1"); filterChain.doFilter(servletRequest,servletResponse); } |
在ajax 请求是也要加相应的东西 $.ajax({ url:url, //加上这句话 xhrFields: { withCredentials: true }, crossDomain: true, success:function(result){ alert("test"); }, error:function(){ } }); 这样我们再跨域测试的时候,就会发现我们的sessionId是一样的了,这样就实现了跨域并且保证在同一个session下。 |
转载于:https://my.oschina.net/u/2458549/blog/1575278
ajax异步session值不唯一 总是改变 解决办法相关推荐
- Session莫名丢失的原因及解决办法[转载]
Asp.net 默认配置下,Session莫名丢失的原因及解决办法 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成 ...
- “Emgu.CV.CvInvoke”的类型初始值设定项引发异常 解决办法
"Emgu.CV.CvInvoke"的类型初始值设定项引发异常 解决办法 参考文章: (1)"Emgu.CV.CvInvoke"的类型初始值设定项引发异常 解决 ...
- c语言浮点数无效,深入C++浮点数无效值定义与判定的解决办法
深入C++浮点数无效值定义与判定的解决办法 在实际计算中可能会出现浮点型的无效数据,格式化输出到文件中内容为1.79769e+308,输出到界面就是很大一串数据.这两种方式无论哪种在阅读和查找时就不是 ...
- vmware虚拟机ip地址自动改变解决办法
vmware虚拟机ip地址自动改变解决办法 菜单栏编辑->虚拟网络编辑器 选择正在使用的连接模式 点击DHCP设置 将租用时间及最长租用时间调到63天(最大天数只能为63天) 菜单栏编辑-> ...
- ajax请求时提醒参数为空的解决办法
1.ajax请求时提醒参数为空的解决办法: 我们要把js对象用stringify转成json,然后再加上:contentType: "application/json" var _ ...
- 提示“Your session has expired. Please log in.” 解决办法
提示"Your session has expired. Please log in." 解决办法: Xcode -->Preferences---> accounts ...
- ajax打开新窗口被浏览器拦截的解决办法
最近在做支付时发现打开支付窗口时被浏览器拦截了,百度了一下才发现是因为打开窗口前用ajax验证是否能支付,所以不是用户主动触发的打开ixin窗口,浏览器认为这样不安全,所以给拦截了. 解决办法一 先开 ...
- js文件中发送ajax请求,ulr路径不起作用的解决办法
前言: 在写Python项目的时候,单独的js文件发送ajax请求,并不起效果并且提示路径错误 错误原因分析: {% url 'myadmin_updategoodsgrade' %} # 是模板中的 ...
- Ajax在IE浏览器会出现中文乱码解决办法
在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. Ajax在IE浏览器会出现中文乱码的情况!解决办法如下<script type="text/javascript ...
最新文章
- Camera噪声问题
- SpringMvc4中获取request、response对象的方法
- Linux环境安装canvas,npm install canvas简明指南
- NMS 非极大值抑制
- [HAOI2008][BZOJ1042] 硬币购物
- AgileConfig - 轻量级配置中心1.2.0发布,全新的UI
- const 修饰函数参数,返回值,函数体,保护数据
- MYSQL小函数大用途之-------FIND_IN_SET
- 李彦宏候选工程院院士;陌陌回应探探下架;拼多多回应“刷单”质疑 | 极客头条...
- Java基础之IO流
- CentOS 6.6下PXE+Kickstart无人值守安装操作系统
- 计算机网络 以太网 和令牌环网
- 全球首个航天大模型问世,文心秒补《富春山居图》,这是百度普惠AI的恒心...
- c语言对英文字母循环加密,RSA加密算法(C语言实现)
- 最详细的Extmail安装文档
- 迅雷离线下载 docker
- 4块硬盘掉线导致服务器崩溃解决过程
- 使用命令行——查看笔记本电池损耗程度
- 硬核数据处理笔记本推荐(2023版)
- 用qrcode生成微信支付二维码
热门文章
- sunplus8202V双无线游戏手柄设计
- 如何用VB编程实现关闭WINDOWS窗口?
- Linux操作系统下/etc/hosts文件
- Reddit大热,伯克利PPT带你丝滑入门机器学习:知识点全面覆盖,笔记可搭配食用...
- 小米首场开发者大会:宣布IoT开发者计划,联手百度提升AI能力
- 启动时间知多少?8款音视频类应用测评报告分析
- synchronized锁机制 之 代码块锁
- 解决Intellij IDEA 通过archetype创建Maven项目缓慢的问题
- CentOS下通过postfix使用自己的gmail邮箱发送邮件
- 如何在Windows下搭建Android开发环境