代码之家  ›  专栏  ›  技术社区  ›  Nathan DeWitt

如何在IE中刷新web部件?

  •  0
  • Nathan DeWitt  · 技术社区  · 16 年前

    我有一个SharePoint web部件,可以从中获取XML数据。ASHX页面,解析它并使用JavaScript显示它。在XML更改之前,一切正常。当我在IE中查看web部件时,新数据在我关闭浏览器之前不会更新。即使按CTRL-F5也无法获取新数据。

    Firefox只需简单的页面刷新即可立即显示新数据。


    这个。ASHX页面使用API访问列表,并构建XML字符串,然后将其作为 application/XML 内容类型。我已确认XML已更新,以反映列表中的新数据。当web部件在FireFox中显示时,我还可以看到它所消耗的数据。

    解决方案
    我实际上是在生成时间戳,将其附加到服务器代码中的查询中,然后将该字符串放入javascript中。一旦我将时间戳代码移动到javascript中,事情就开始变得更好了。

    2 回复  |  直到 16 年前
        1
  •  2
  •   Maiku Mori    16 年前

    它很可能是缓存的,没有其他逻辑解释为什么它能在Firefox中工作而不能在IE中工作。尝试连续多次重新加载IE。

    检查.ashx页面设置了哪些标题。

    缓存页面的不仅仅是您的浏览器,包括web服务器在内的任何中间件都可能存在有缺陷的缓存实现。您还可以尝试使用HTTP POST而不是GET,因为根据HTTP规范,POST请求永远不应该被缓存。

        2
  •  1
  •   Waldek Mastykarz    16 年前

    推荐文章