【问题标题】:How do you control caching with JQuery .load method?您如何使用 JQuery .load 方法控制缓存?
【发布时间】:2014-08-14 18:25:05
【问题描述】:

对于大多数缓存问题,只需将时间戳/随机数添加到 url 就会导致加载被刷新。但是,当将此方法与 JQuery .load 方法一起使用时,它不起作用。此外,使用 $.ajaxSetup({ cache:false }); 也不起作用。我需要加载 .load 方法提供的部分页面。关于如何强制.load 重新加载更新内容(cache: false)的任何想法?

我正在加载的页面是由包含 php jpgraph 图的 cgi 脚本生成的网页。调用 .load 方法时,绘图未刷新。作为最后的手段;我将时间戳添加到调用 php jpgraph 绘图的 cgi 脚本 url。这似乎有助于强制重新生成图像图。我不知道这是否是最好的解决方案,但到目前为止,这似乎是有效的。

【问题讨论】:

  • jQuery.ajax() 是否适用于 cache:false 设置?您如何验证它不起作用?服务器代码中是否有断点。我发现了一些我认为它没有命中服务器但实际上只是命中了错误的 MVC 路由并因此被断点错过的情况。
  • “另外,使用 $.ajaxSetup({ cache:false }); 不起作用” 不起作用,或者不能使用,因为它会影响其他事物。它应该可以工作。

标签: jquery ajax caching load


【解决方案1】:

作为测试,请尝试手动向请求 url 添加新的时间戳。 Cache:false 选项在 jQuery.Ajax 方法中所做的所有事情都是生成 _timestamp 值并将其附加到您的 url 查询字符串中。

还要验证您的 MVC 路由设置是否正确,并且您正在访问您要访问的服务器代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    • 2018-12-13
    • 1970-01-01
    • 2011-01-10
    • 2017-11-26
    • 2011-07-01
    • 1970-01-01
    相关资源
    最近更新 更多