【问题标题】:HTML jquery response is cached on IEHTML jquery 响应缓存在 IE 上
【发布时间】:2012-12-17 03:18:25
【问题描述】:

嗯,我现在有一个非常粗略的五子棋版本。 我正在使用 Jquery、Php 和 mysql 数据库。

当用户点击棋盘格时,就会放置一块棋子。 ajax 刷新确定轮数是否已增加,并在必要时更新板的 html。

问题在于 Internet Explorer(6,8,可能是 7)在第一次访问时缓存了页面。即使手动刷新页面,缓存的内容也会保留。

我尝试过使用

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

在没有运气的html页面上。获取更新的唯一方法是通过工具删除文件。

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


更新 3 我得到它的工作我使用了 .ajaxSetup 感谢 phoenix、tim 和其他所有人。

【问题讨论】:

  • 您也可以将您请求的页面的标题设置为不缓存。

标签: javascript html caching jquery


【解决方案1】:

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

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

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

编辑:

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

jQuery.ajaxSetup( options )

并关闭缓存

jQuery.ajaxSetup({ cache: false });

对于您可以使用的每个请求

jQuery.ajax( options )

并按照@Tim 的指示将缓存设置为 false

【讨论】:

  • 我是否将 ajaxSetup 函数放在我的脚本中的任何地方?
【解决方案2】:

你可以试试“cache: false”

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

      我刚刚发现:

      jQuery.ajaxSetup({ cache: false });

      【讨论】:

        猜你喜欢
        • 2018-05-08
        • 2014-01-07
        • 2012-05-21
        • 1970-01-01
        • 2013-06-11
        • 1970-01-01
        • 1970-01-01
        • 2019-09-05
        • 1970-01-01
        相关资源
        最近更新 更多