现在的位置: 首页 > 综合 > 正文

ajax get时不能更新页面的解决方法

2011年07月09日 ⁄ 综合 ⁄ 共 401字 ⁄ 字号 评论关闭
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)函数来解决。

抱歉!评论已关闭.