社区
Ajax
帖子详情
在Ajax中读取session的值,怎么会有时正确,有时又不对?
bingfenghzy
2010-01-11 07:20:42
在做验证码时,创建验证码的程序成中设置了一个session值,然后在应用ajax提交数据时,后台程序获取的session值,有时候是对的,有时候又不对。不知道是什么原因?望各位帮帮忙!谢谢!
...全文
640
12
打赏
收藏
在Ajax中读取session的值,怎么会有时正确,有时又不对?
在做验证码时,创建验证码的程序成中设置了一个session值,然后在应用ajax提交数据时,后台程序获取的session值,有时候是对的,有时候又不对。不知道是什么原因?望各位帮帮忙!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
artren
2010-07-20
打赏
举报
回复
upupupup
theuckingday
2010-06-09
打赏
举报
回复
很好up
zm_hs
2010-01-12
打赏
举报
回复
你说的不正确的情况是什么?
antony1029
2010-01-12
打赏
举报
回复
[Quote=引用 5 楼 bingfenghzy 的回复:]
问题解决了,多谢各位的热心帮助。是我自己的程序有问题:由于多个页面需要用到验证码,所以我为了方便,所有的验证码都用了同一个文件,导致里面的session的名称一样。
所以在应用独立的验证码文件后,再改变文件中的session的名称后,问题就解决了,但为什么验证码有时正确,有时又不正确?还是不知道。希望各位讨论讨论。
[/Quote]
UP
happy664618843
2010-01-12
打赏
举报
回复
?&num=new Date().getTime()防止缓存
sysudzx
2010-01-12
打赏
举报
回复
ajax会自动创建session的,当你的session超时被释放之后,ajax请求会生成一个新的session,这时候,session里面的值当然就变化了啦
bingfenghzy
2010-01-11
打赏
举报
回复
问题解决了,多谢各位的热心帮助。是我自己的程序有问题:由于多个页面需要用到验证码,所以我为了方便,所有的验证码都用了同一个文件,导致里面的session的名称一样。
所以在应用独立的验证码文件后,再改变文件中的session的名称后,问题就解决了,但为什么验证码有时正确,有时又不正确?还是不知道。希望各位讨论讨论。
bingfenghzy
2010-01-11
打赏
举报
回复
不好意思,没看懂,麻烦能说详细一点吗?谢谢!
[Quote=引用 3 楼 lin364653705 的回复:]
AJAX生成随机数,应该在url上加了个时间戳,保证每次请求都是获得不一样的随机数!!这样应该没问题~
[/Quote]
lin364653705
2010-01-11
打赏
举报
回复
AJAX生成随机数,应该在url上加了个时间戳,保证每次请求都是获得不一样的随机数!!这样应该没问题~
bingfenghzy
2010-01-11
打赏
举报
回复
谢谢你的回答。
对于第一条:我用的是apache,php,session在有效时间是设置为直到浏览器关闭。所有应该不是这个原因。
对于第二条:我在点击验证码附近的“看不清,换一张”对验证码进行刷新后,获取的session(即验证码)是正确的)。但就是刷新整个页面时,提交的验证码会出错。所有应该也不是这个原因。
所有我想:是不是整个页面和验证码的图片的加载顺序会影响session的值,在这里验证码的图片应该是在页面其它部分的后面加载的?
[Quote=引用 1 楼 shenzhennba 的回复:]
引用楼主 bingfenghzy 的回复:
在做验证码时,创建验证码的程序成中设置了一个session值,然后在应用ajax提交数据时,后台程序获取的session值,有时候是对的,有时候又不对。不知道是什么原因?望各位帮帮忙!谢谢!
原因有:
1,session 变量在服务器上是有时效限制的,在规定有效时间内访问session变量,其值是就是同一个值,当客户端窗口在超过规定有效时间没有都没有活动一下,那么web服务器会清除该对应的session值,当超过了有效时间后又请求一次得到的肯定是不同的值了,这个规定有效时间各个web 服务器的默认值不同(IIS好象是20分钟吧),在程序中还可以设定有效时间;
2,生成验证码的顺序问题,必须是在本次比较完成后才产生下一次验证码,本次还没有比较就生成新的验证码,那肯定不可以,如果前后两次验证码相同当然可以,所以为保证不相同,在验证码生成前加一个随机函数
[/Quote]
shenzhenNBA
2010-01-11
打赏
举报
回复
[Quote=引用楼主 bingfenghzy 的回复:]
在做验证码时,创建验证码的程序成中设置了一个session值,然后在应用ajax提交数据时,后台程序获取的session值,有时候是对的,有时候又不对。不知道是什么原因?望各位帮帮忙!谢谢!
[/Quote]
原因有:
1,session 变量在服务器上是有时效限制的,在规定有效时间内访问session变量,其值是就是同一个值,当客户端窗口在超过规定有效时间没有都没有活动一下,那么web服务器会清除该对应的session值,当超过了有效时间后又请求一次得到的肯定是不同的值了,这个规定有效时间各个web 服务器的默认值不同(IIS好象是20分钟吧),在程序中还可以设定有效时间;
2,生成验证码的顺序问题,必须是在本次比较完成后才产生下一次验证码,本次还没有比较就生成新的验证码,那肯定不可以,如果前后两次验证码相同当然可以,所以为保证不相同,在验证码生成前加一个随机函数
java源码包---java 源码 大量 实例
在有状态
Session
Bean
中
,用累加器,以对话状态存储起来,创建EJB对象,并将当前的计数器初始化,调用每一个EJB对象的count()方法,保证Bean正常被激活和钝化,EJB对象是用完毕,从内存
中
清除…… Java Socket 聊天...
ajax
得到
session
,
Ajax
如何使用
Session
在
Ajax
中
有时
会
使用到
Session
,在aspx.cs文件这样获取:string name =
Session
["name"];但是在
Ajax
中
就不能这样获取
Session
,必须实现
Session
接口,如下using System;using System.Web;using Model;using service;...
ajax
教程 在线视频培训教程(含课程源代码)
讲解
ajax
的工作原理和实例全国省市区3级联动 01-
ajax
概要和第一个示例 02-
AJAX
工作原理 03-创建 XMLHttpRequest 对象 04-使用phpstorm工具来开发 05-Get方法和
读取
中
文乱码解决 06-Post方法和小坑的解决 07-...
ajax
跨域
session
丢失问题
ajax
跨域时
session
丢失了!!! 解决方法: 首先我 Google 了一下这个问题的原因,我找到了这个: (1)Access-Control-Allow-Origin该字段是必须的。它的
值
要么是请求时Origin字段的
值
,要么是一个*,表示接受...
关于
Ajax
跨域访问
session
不能保存或之后无法访问
session
取
值
为空等问题
根据浏览器的保护规则,跨域的时候我们创建的
session
Id是不
会
被浏览器保存下来的,这样,当我们在进行跨域访问的时候,我们的
session
Id就不
会
被保存下来,也就是说,每一次的请求,服务器就
会
以为是一个新的人,而...
Ajax
52,797
社区成员
25,305
社区内容
发帖
与我相关
我的任务
Ajax
Web 开发 Ajax
复制链接
扫一扫
分享
社区描述
Web 开发 Ajax
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章