首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在jQuery.get调用中设置cache: false

如何在jQuery.get调用中设置cache: false
EN

Stack Overflow用户
提问于 2012-01-13 03:55:46
回答 7查看 116.2K关注 0票数 78

jQuery.get()是带有get调用的jQuery.ajax()的缩写。但是,当我在.get()调用的数据中设置缓存时,发送到服务器的是一个名为cache:false的参数,其值为false。虽然我的目的是将时间戳与数据一起发送到服务器,以防止缓存,但如果我在jQuery.ajax数据中使用cache: false,就会发生这种情况。如何在不将jQuery.get调用重写为jQuery.ajax调用或使用

代码语言:javascript
复制
$.ajaxSetup({
    // Disable caching of AJAX responses
    cache: false
});

更新:感谢大家的回答。你们都是对的。但是,我希望有一种方法可以让get调用知道您不想缓存,或者将该值发送到底层的.ajax()以便它知道如何处理它。

除了到目前为止已经确定的三种方法之外,我还在寻找第四种方法:

  1. 通过ajaxSetup
  2. Using a .ajax调用而不是.get调用全局执行
  3. 通过向.get调用添加保存时间戳的新参数来手动执行此操作。

我只是认为这个功能应该内置于.get调用中。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2012-01-13 04:04:07

对我来说,正确的方法应该是下面列出的方法。ajaxajaxSetup。如果您真的想使用get而不使用ajaxSetup,那么您可以创建自己的参数,并为其提供当前日期/时间的值。

然而,我会质疑你不使用其他方法之一的动机。

票数 37
EN

Stack Overflow用户

发布于 2012-01-13 04:06:26

自己添加参数。

代码语言:javascript
复制
$.get(url,{ "_": $.now() }, function(rdata){
  console.log(rdata);
});

从jQuery 3.0开始,您现在可以执行以下操作:

代码语言:javascript
复制
$.get({
  url: url, 
  cache: false
}).then(function(rdata){
  console.log(rdata);
});
票数 112
EN

Stack Overflow用户

发布于 2012-01-13 04:06:31

我认为你必须使用AJAX方法,它允许你关闭缓存:

代码语言:javascript
复制
$.ajax({
  url: "test.html",
  data: 'foo',
  success: function(){
    alert('bar');
  },
  cache: false
});
票数 64
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8841425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档