调用ajax时希望浏览器不缓存,服务器端控制AJAX页面缓存:
response.setHeader( "Pragma", "no-cache" );
response.addHeader( "Cache-Control", "must-revalidate" );
response.addHeader( "Cache-Control", "no-cache" );
response.addHeader( "Cache-Control", "no-store" );
response.setDateHeader("Expires", 0);
单纯的使用 xmlhttp.setRequestHeader("Cache-Control","no-cache")无效。
也可以在使用AJAX发送请求的时候附加一个时间戳:
var xmlhttp = createrequest();
xmlhttp.open("GET",appendTimestamp(url),true);
function appendTimestamp(url)
{
if (url.indexOf("?")>0)
{
return url+"&ajax_time="+new Date().getTime();
} else
{
return url+"?ajax_time="+new Date().getTime();
}
}
当然这个方法也只能解决部分问题,如果URL太长也不行。
response.setHeader( "Pragma", "no-cache" );
response.addHeader( "Cache-Control", "must-revalidate" );
response.addHeader( "Cache-Control", "no-cache" );
response.addHeader( "Cache-Control", "no-store" );
response.setDateHeader("Expires", 0);
单纯的使用 xmlhttp.setRequestHeader("Cache-Control","no-cache")无效。
也可以在使用AJAX发送请求的时候附加一个时间戳:
var xmlhttp = createrequest();
xmlhttp.open("GET",appendTimestamp(url),true);
function appendTimestamp(url)
{
if (url.indexOf("?")>0)
{
return url+"&ajax_time="+new Date().getTime();
} else
{
return url+"?ajax_time="+new Date().getTime();
}
}
当然这个方法也只能解决部分问题,如果URL太长也不行。