2009-10-01 41 views
1

那么我现在有一个非常粗糙的gomoku版本。 我正在使用Jquery,Php和mysql数据库。HTML jQuery响应缓存在IE上

当用户点击棋盘正方形放置棋子时。 ajax刷新确定是否增加了转数,并在必要时更新董事会的html。

问题是Internet Explore(6,8,&可能是7)在首次访问时缓存页面。即使手动刷新页面,缓存的内容仍会保留。

我试过,没有运气的HTML页面上使用

<META HTTP-EQUIV="cache-Control" CONTENT="no-cache"> 
<META HTTP-EQUIV="Pragma" CONTENT="no-cache"> 

。获取更新的唯一方法是通过工具删除文件。

我希望这是足够的信息。如果没有,我会尽力回答问题。


更新3 我得到它的工作我用.ajaxSetup 感谢凤凰,TIM,和大家一样。

+0

您也可以设置您请求不缓存的页面的标题。 – Sam152 2009-11-16 07:17:25

回答

6

每次在AJAX请求的末尾添加一个随机数字以使请求URL不同。

您将提交给服务器的信息的随机位可以是数字(越大越好),随机字符串或时间戳。

var url = “http://domain?myParameters=values&pseudoParam= "+new Date().getTime(); 

编辑:

如果你想建立全局设置为AJAX请求,那么你可以使用

jQuery.ajaxSetup(options)

,并设置缓存关闭

jQuery.ajaxSetup({ cache: false }); 

对于每个请求T优可以使用

jQuery.ajax(options)

和缓存设置为false,通过@Tim

指出
+0

我正要说+1 – 2009-10-01 04:52:31

+0

+1这个不错的lil hack – 2009-10-01 04:55:27

+0

我把ajaxSetup函数放在我的脚本的任何地方吗? – 2009-10-01 05:11:07

2

你可以尝试 “缓存:假”

$.ajax({url: "url", success: myCallback, cache: false}); 
0

这是一个默认的IE浏览器的行为。我通过在请求中添加随机数来避免这种情况。

0

我刚刚发现了这件事:

jQuery.ajaxSetup({缓存:假});