前几天在做东西的时候老是出现一人解决不了的问题,一直找不到原因,呵呵,今天看视频教程的时候终于找到问题所在了
解决使用ajax时浏览器的缓存问题
共有下面五种解决办法:
1,禁用浏览器缓存,访问网页速度变慢,客户不知道禁用
2,只发送post请求;
3,在请求地址中增加无意义的参数使地址每次不一样,如"?timestamp="+new Date().getTime();
url = 目标地址+请求参数
function addTimeParameter(url)
{
if(url.indexOf("?") != -1)
{
return url + "&t=" + new Date().valueOf();
}
else
{
return url + "?t=" + new Date().valueOf();
}
}
4,在服务器端添加回应头内容,指明不使用缓存
response.addHeader("pragme", "no-cache");
response.addHeader("cache-control", "no-cache");
response.addHeader("expires", "0");
5,在ajax发送请求前加上xmlHTTP.setRequestHeader("if-Modified-Since","0");
xmlHTTP.open("get",url,true);
xmlHTTP.onreadystatechange = callHTML;
xmlHTTP.setRequestHeader("if-Modified-Since","0");
xmlHTTP.send();
以上方法亲试,均可用!