使用Ajax进行名称检查,第一次是有效的,但一旦提交,请再次检查它。结果是错误的,因为IE缓存的原因。
复制代码代码如下所示:
函数验证(){
$ ajax({
/ /发布IE缓存;时间=+新的日期()GetTime()。
网址:checkgroupnametimestamp =+新的日期()GetTime(),
异步:真,
数据:GroupName=+ $(# CN)(瓦迩)+grouptypefordetail =+ $(# grouptype )(瓦迩)+前缀=+ $(# P )(。Val),
DataType:HTML
成功:函数(数据){
如果(数据= 1){
$(#结果)。Html(组名称{+ $(# P )(瓦迩)+ $(# CN)(瓦迩)+}有效);
$(#电子邮件)。瓦迩($(# P )(瓦迩)+ $(# CN)(瓦迩)+ $(# emailhidden )(瓦迩));
$(#子),RemoveAttr(禁用);
否则如果(数据=2){
$(#结果)。Html(组名称{+ $(# P )(瓦迩)+ $(# CN)(瓦迩)+}已经存在。);
$('#subData').Attr ('disabled', true);
其他{ }
$(#结果)。Html(组名称不能为空。);
$(#子)。Attr(禁止,真正的);
}
}
});
}

原理:
Firefox每次请求都会再次返回服务器获取最新的数据,但IE不一样,它会缓存以前的数据,只有第一个请求会去服务器读取数据才真实,导致Ajax数据不随时间更新……
解决方案(联机收集):
1。在头的服务器端(缓存控制:无缓存,must-revalidate);或用下列组合较好:
复制代码代码如下所示:
标题(到期:星期六,2005年1月1日00:00:00 GMT);
标题(最后修改gmdate:(D、D M Y H:我:)。GMT;
标题(缓存控制:无缓存,must-revalidate);
标题(杂注:无缓存);

2、添加xmlhttprequest.setrequestheader(If-Modified-Since
3、添加xmlhttprequest.setrequestheader(缓存控制
4、在Ajax URL参数后添加新鲜=+ Math.random(); / /当然这里的参数可以是任意的新鲜
类似于5、第四和第三的方法,参数的URL后加上时间戳=+新(日期)(的时间); / /推荐使用这种方法,我用的就是这个,个人认为比较方便。
6。后置替换:不推荐