关于IE7 多次Ajax 返回同一值问题

问题很简单,当 验证框 获得焦点的时候,后台返回不同的验证码

我使用jQuery Ajax来实现.

1  $.ajax({
2    url: " handler.ashx " ,
3    data: " method=getValidNumber " ,
4    dataType: " POST "

5 }) 

我一般都是在FF下调试的,事情进展的很顺利,后来用IE试着用了下,问题就来了。

 IE7的缓存,让我无法获得想要的结果,没办法,事情出了,总得解决啊,呵呵。

找了很多资料,也没找到合适的,可能我搜索的关键字用的不够好。

今天细读了下,jQuery源代码,cache设置为false,貌似就OK了,可是那个IE7也很顽固,还是老样子。

后来在jQuery源码中看了下它处理get请求的方式,似乎为了不让缓存,要加个随机数上去,我也不管3721,加了个随机数上去,结果就OK了。

代码如下

 1 $.ajax({

2     url: " handler.ashx " ,
3     data: " method=getValidNumber&t= " + Math.Random(),
4     dataType: " POST "
5  })

 问题分析:

IE7缓存是为了提高效率,当访问一个URL的时候,Http Header 中会有个last modified time 不知道有没有写错,意思就是这个

会被修改掉,要是多次访问同一个URL,它会比对URL,发现在缓存中,那就到缓存中加载。

 加了个随机数,它发现URL变了,那就去重新加载吧,这样数据就又可以重新获得了。

高手给我解答下啊:

我映像中 POST方法的话,是没关系。只有GET的时候才会存在这样的问题。

可能我的知识理解有误,请高手帮帮忙,解答下,在此谢过! 

 

 

 

转载于:https://www.cnblogs.com/KenChen/archive/2009/07/18/1525956.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值