日期:2014-05-16  浏览次数:20525 次

解决使用ajax时浏览器的缓存问题

前几天在做东西的时候老是出现一人解决不了的问题,一直找不到原因,呵呵,今天看视频教程的时候终于找到问题所在了

解决使用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();
?

以上方法亲试,均可用!

?

?

?