jQuery.get()
是带有get调用的jQuery.ajax()
的缩写。但是,当我在.get()
调用的数据中设置缓存时,发送到服务器的是一个名为cache:false
的参数,其值为false。虽然我的目的是将时间戳与数据一起发送到服务器,以防止缓存,但如果我在jQuery.ajax数据中使用cache: false
,就会发生这种情况。如何在不将jQuery.get调用重写为jQuery.ajax调用或使用
$.ajaxSetup({
// Disable caching of AJAX responses
cache: false
});
更新:感谢大家的回答。你们都是对的。但是,我希望有一种方法可以让get调用知道您不想缓存,或者将该值发送到底层的.ajax()以便它知道如何处理它。
除了到目前为止已经确定的三种方法之外,我还在寻找第四种方法:
我只是认为这个功能应该内置于.get调用中。
发布于 2012-01-13 04:04:07
对我来说,正确的方法应该是下面列出的方法。ajax
或ajaxSetup
。如果您真的想使用get
而不使用ajaxSetup
,那么您可以创建自己的参数,并为其提供当前日期/时间的值。
然而,我会质疑你不使用其他方法之一的动机。
发布于 2012-01-13 04:06:26
自己添加参数。
$.get(url,{ "_": $.now() }, function(rdata){
console.log(rdata);
});
从jQuery 3.0开始,您现在可以执行以下操作:
$.get({
url: url,
cache: false
}).then(function(rdata){
console.log(rdata);
});
发布于 2012-01-13 04:06:31
我认为你必须使用AJAX方法,它允许你关闭缓存:
$.ajax({
url: "test.html",
data: 'foo',
success: function(){
alert('bar');
},
cache: false
});
https://stackoverflow.com/questions/8841425
复制相似问题