这是在 Jquery 中使用此语句的正确位置吗

发布于 2024-09-29 04:55:19 字数 549 浏览 5 评论 0原文

这是我引用下面代码的语句 $.ajaxSetup ({cache: false});

我有一个生成 JSON 的 PHP 脚本。我正在使用这个 json:

      $.getJSON ("GetDetails.php?id=123",
          $("#formname").serialize(),
          function(data){
              **$.ajaxSetup ({ cache: false});**
          //I do all processing with the "data"
          });

我已经看到了堆栈溢出中缓存的各种问题我知道这也删除了缓存

  1. $.ajaxSetup ({cache: false});
  2. 通过附加时间

有没有什么方法可以克服Cache。当我使用它时,它仍然是缓存。我在 $.documnet.ready() 中使用了相同的语句,但没有用。

This is the statement which I am referering the below code $.ajaxSetup ({ cache: false});

I have a PHP script which produces JSON. I am consuming this json using:

      $.getJSON ("GetDetails.php?id=123",
          $("#formname").serialize(),
          function(data){
              **$.ajaxSetup ({ cache: false});**
          //I do all processing with the "data"
          });

I have seen various questions for caching in the stack overflow I know this also removes the caching

  1. $.ajaxSetup ({ cache: false});
  2. By appending Time

Are there any methods to overcome the Cache. When I use this, it is still caching. I have used the same statement in $.documnet.ready() , but no use.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

胡大本事 2024-10-06 04:55:19

$.ajaxSetup() 调用之前< /em> 您希望受其影响的 AJAX 方法的使用(您只需运行一次,而不是在每次调用之前),如下所示:

$.ajaxSetup ({ cache: false});
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){
  //I do all processing with the "data"
});

That $.ajaxSetup() call goes before your usage of AJAX methods you want to be affected by it (you just need to run it once, not before every call), like this:

$.ajaxSetup ({ cache: false});
$.getJSON ("GetDetails.php?id=123", $("#formname").serialize(), function(data){
  //I do all processing with the "data"
});
自此以后,行同陌路 2024-10-06 04:55:19

相反,您可以使用:

$.ajax({
    url: "GetDetails.php?id=123",
    dataType: 'json',
    data: $("#formname").serialize(),
    cache: false,
    success: function(data){
                //I do all processing with the "data"
             });
});

这将禁用该特定查询的缓存,因此您可以对其他查询使用正常的、启用缓存的 .ajax 调用版本。如果您想在整个应用程序中禁用缓存,可以使用 Nick 的解决方案。

Instead, you can use:

$.ajax({
    url: "GetDetails.php?id=123",
    dataType: 'json',
    data: $("#formname").serialize(),
    cache: false,
    success: function(data){
                //I do all processing with the "data"
             });
});

This will disable cache for that particular query, so you can use the normal, cache-enabled version of the .ajax call for other queries. If you want to disable cache throughout your application, you can use Nick's solution.

°如果伤别离去 2024-10-06 04:55:19

有点不清楚你在说什么。如果您想防止浏览器缓存 JSON 数据,您应该让 PHP 脚本在其标头中指定这一点。

请参阅http://articles.sitepoint.com/article/php-anthology- 2-5-缓存

It's slightly unclear what you're getting at. If you want to prevent the JSON data from being cached by the browser, you should have the PHP script specify that in its headers.

See http://articles.sitepoint.com/article/php-anthology-2-5-caching

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文