AJAX请求后台时会自动缓存,客户端发起请求首先请求缓存,第一次请求即由缓存再请求服务器,返回数据时同样先返回到缓存再展示再客户端。但是如果数据要求随时性呢,数据变化频率高呢?那么如何不让ajax设置缓存呢?
主要有两种方法:
1、在请求url后面加上随机数或者时间戳:
例如:ajax.open("get","./service.php?"+Math.random()) 这样每次请求就是不同的请求,每次都要到达服务器。
其实还是都有缓存,只不过每次访问都是唯一的访问,就不会访问到前次访问。最好是加时间戳,时间戳肯定唯一,随机数可能重复。
2、在服务器端设置header头部信息:
header{"Cache-Control:no-cache"}
herder{"Pragma:no-cache"}
header{"Expires:-1"}
这样就不会再将服务器端返回的数据进行缓存了。