做一个项目用到Ajax,刚开始没仔细发现,后来发现提交同一个 url (如url.php?do=new) 时候 XXXXX.send(url), 返回结果都是一样的,而我 url.php 获取的是最新的数据,在FF和Chorme浏览器都正常,返回最新数据!这才知道是IE缓存的问题。(真是麻烦,没办法,现在用IE还是占大多数,就改吧)
在网上找了好多资料后,总结一下
1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数
在 javascript发送的URL后加上t=Math.random() ,当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+”&”+”t=”+Math.random(); //或者 new Date().getTime()
2:在XMLHttpRequest发送请求[b]之前[/b]加上XMLHttpRequest.setRequestHeader(“If- Modified-Since”,”0″)
一般情况下,这里的XMLHttpRequest不会直接使用,你应该可以找到这样的代码
XMLHttpRequest.send(YYYYYY);
那么,就把它变成
XXXXX.setRequestHeader(“If-Modified-Since”,”0″);
XXXXX.send(YYYYYY);
在网上找了好多资料后,总结一下
1:在AJAX请求的页面后加个随机函数,我们可以使用随机时间函数
在 javascript发送的URL后加上t=Math.random() ,当然,不是直接把t=Math.random()拷贝到URL后面,应该像这样:URL+”&”+”t=”+Math.random(); //或者 new Date().getTime()
2:在XMLHttpRequest发送请求[b]之前[/b]加上XMLHttpRequest.setRequestHeader(“If- Modified-Since”,”0″)
一般情况下,这里的XMLHttpRequest不会直接使用,你应该可以找到这样的代码
XMLHttpRequest.send(YYYYYY);
那么,就把它变成
XXXXX.setRequestHeader(“If-Modified-Since”,”0″);
XXXXX.send(YYYYYY);