防止在Google Closure库中缓存AJAX调用

时间:2011-12-01 23:16:41

标签: ajax caching google-closure-library

我找不到在GCL AJAX调用中关闭浏览器(有时是服务器“304”)缓存的方法,就像我在jQuery中所做的那样。

$.ajax({
  url: "test.html",
  cache: false,
});

也许我可以以某种方式控制标题?

我不喜欢将随机字符串添加到GET参数手动等答案。像:

requestObject.send("/feed/get?id=" + id + '&nocache=' + new Date().getTime());

2 个答案:

答案 0 :(得分:2)

Cache中的

$.ajax选项会a timestamp in a GET parameter

但是,当您调用send()方法时,可以在请求标头中添加Cache-Control: no-cache

答案 1 :(得分:0)

假设您正在使用xhrio来执行ajax,另一种方法是在实例化xhrio之后设置标头。

var requestObject = new goog.net.XhrIo();
requestObject.headers.set('Cache-Control', 'no-cache');
goog.events.listen(requestObject, goog.net.EventType.COMPLETE, function(e) {
    var obj = this.getResponseJson();
}); 
requestObject.send('http://example.com/jsoncontentsource');