ajax get时不能更新页面的解决方法
var url = "newlist.asp?id=" + escape(id) + Math.random();
由于IE的缓存处理机制,如果以GET方式每次请求的url相同(参数也相同),IE会调用客户端缓存中的页面,从而导致无法获取最新信息。
解决办法:
<i>、附加一个不同随机数给url,那么IE会以为请求的是新页面,就会去服务器获取,从而达到实时更新。即在url中添加
Math.random(),例如:"AJAXService.aspx?&requestId=" + Math.random();
<ii>、禁止浏览器在客户端缓存,C#可以这样:Response.AddHeader("Cache-Control", "no-cache");
若url的参数中包含汉字,可以使用javascript的escape(string)函数来解决。
由于IE的缓存处理机制,如果以GET方式每次请求的url相同(参数也相同),IE会调用客户端缓存中的页面,从而导致无法获取最新信息。
解决办法:
<i>、附加一个不同随机数给url,那么IE会以为请求的是新页面,就会去服务器获取,从而达到实时更新。即在url中添加
Math.random(),例如:"AJAXService.aspx?&requestId=" + Math.random();
<ii>、禁止浏览器在客户端缓存,C#可以这样:Response.AddHeader("Cache-Control", "no-cache");
若url的参数中包含汉字,可以使用javascript的escape(string)函数来解决。