对于服务器来说,所有的请求都是第一次,没有记忆功能.对于客户来说是不好的,但是对与服务器来说能够有效防止它的崩溃,就把这种解决方式给了客户端(浏览器)
缓存的优势
第一次请求的结果会保存在缓存区.第二次相同的请求的时候,就知道直接在缓存区将数据返回给你,不在向服务器请求了,增强页面的响应速度和用户体验.
缓存的缺点
第二次请求的相似度过高,浏览器会认为是第一次发送请求,就直接从缓存区拿数据,不向服务器请求,占内存.
解决的方法
1、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“Cache-Control”,”no-cache”);
2、在服务端加 header(“Cache-Control: no-cache, must-revalidate”);
3、在ajax发送请求前加上 xmlHttpRequest.setRequestHeader(“If-Modified-Since”,”0″);
4、在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random();
5、第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();