一/ ajax缓存是什么?
当多次请求服务器上的同一个文件的时候,如果请求的路径不变,后面的多次请求直接从浏览器的缓存上面获取数据,导致服务器上的数据发生更改的时候,无法拿到服务器上面更新的数据
二/ 解决方案
方案一 : 在路径上面添加一个可变的参数
url ? id = Math.random();
url ? id = new Date().getTime();
方案二 : 比较服务器上文件的最后修改时间
当使用ajax请求服务器数据时,会将服务器文件最后一次的修改时间发送到服务器上, 比较服务器文件两次的修改时间.如果相等 直接从浏览器的缓存上获取数据, 如果不相等, 先删除浏览器缓存的数据 在获取服务器上更新后的数据
设置请求头: xhr.setRequestHeader("if-modfied-since","0");