项目有时要用一些Ajax的效果,因为比较简单,也就没有去用什么Ajax.net之类的东西,手写代码也就实现了。、
第二天,有人向我报告错误;说是只有第一次读取的值正常,后面的值都不正常;我调试了一下 ,确实有这样的问题,查出是因为AJAX缓存的问题:解决办法有如下几种:
1、 在服务端加 header("Cache-Control: no-cache, must-revalidate");
2、 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("If-Modified-Since","0");
3、 在ajax发送请求前加上 anyAjaxObj.setRequestHeader("Cache-Control","no-cache");
4、 在 Ajax 的 URL 参数后加上 "?fresh=" + Math.random(); //当然这里参数 fresh 可以任意取了
5、 第五种方法和第四种类似,在 URL 参数后加上 "?timestamp=" + new Date().getTime();
6、 用POST替代GET:不推荐