浅析XMLHttpRequest的缓存问题

在使用XMLHttpRequest中有没有遇到过,第一次使用是好的,刷新一下就不行了,清空一下缓存再刷新又好了。

这是在使用XMLHttpRequest中常遇到的一个问题,在有的时候XMLHttpRequest请求的结果会缓存在同一个URL中,如果你请求之后的响应不同,就会产生一些莫名其妙的问题,当然也包括文章一开始那个呵呵。

解决方法:
知道了原理就简单了,也就是每次请求的URL不同,让它每次都去服务器端请求,而不是使用缓存。下面有两种自己常用的方法:

第一种方法是加时间戳
var url = BaseURL + "&timeStamp=" + new Date().getTime();

第二种方法加个随机数
var url = BaseURL + "&r=" + Math.random();
可能还有很多其它的方法,只要你能保证让它每次都去服务端去请求就OK了。

相关推荐