ajax缓存的形成原因,ajax如何解决浏览器缓存问题?

ajax形成的原因就是让我们在不刷新页面的情况下就能获取数据,也可以在不刷新页
面的情况下来提交数据。这样就很有利于用户的体验。当ajax异步获取数据后,其实
会在内存中缓存一份该数据,所以当我们不刷新的时候,内存中就永远存在该数据。
导致如果我们请求的url不变的情况下,可能就直接向内存中请求数据,所以数据可能
就不会发生改变。
下面主要有以下几种解决方案。
1、在XMLHttpRequest对象发送请企之前,可以设置请求头。
ajaxObject.setRequestHeader("If-motified-since", 0)。

2、在XMLHttpFRequest对象发送之前,可以设置请求头。
ajaxObject.setRequestHeader("Cache-control", "no-cache")

3、可以在url后面加上一个随机数
"fresh=" + Math.random()

4、可以在url后面加上时间戳
"nowtime" + new Date().getTime()

5、如果使用的是jquery,可以这样设置$.ajaxSetup({"cache": false})

如果对于if-motified-since属性和Cache-control属性不熟悉,可以查看上一篇关于浏览器缓存的博客。
上一篇:ajax的get封装


下一篇:ajax调用Python程序的响应中文乱码处理办法