坑爹的IE缓存

做一个项目用到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发送请求 之前加上XMLHttpRequest.setRequestHeader(“If- Modified-Since”,”0″)

  一般情况下,这里的XMLHttpRequest不会直接使用,你应该可以找到这样的代码

XMLHttpRequest.send(YYYYYY);

  那么,就把它变成
XXXXX.setRequestHeader(“If-Modified-Since”,”0″);
XXXXX.send(YYYYYY);

你可能感兴趣的:(JavaScript)