你怎么告诉浏览器不要缓存ajax响应

时间:2014-02-10 17:24:38

标签: javascript ajax caching

我对.js文件进行了ajax调用。 JS文件缓存在mem-cache上。目前chrome,Firefox和IE浏览器正在缓存ajax响应。有没有办法告诉浏览器不要缓存ajax响应。注意 - 我仍然希望ajax调用获取JS文件的mem-cached版本,而不是来自服务器的版本,因此设置缓存标头或向ajax url添加随机值将不起作用,因为它将绕过mem-cache。

注意 - 有两种类型的缓存。一个是浏览器缓存,另一个是memcached,它位于我的服务器和浏览器之间。我的服务器的每个请求都通过内存缓存。我不想清除memcache我只想清除浏览器缓存。

任何帮助将不胜感激,提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以从提供这些js文件的Web服务器控制缓存的到期时间。您可以在此处阅读有关缓存标头的更多信息:https://developers.google.com/speed/docs/best-practices/caching

答案 1 :(得分:0)

将具有随机值的参数添加到url中,例如:

var url = "http://example.com/some_url/myjs.js?r=" + Math.random()

var url = "http://example.com/some_url/myjs.js?param1=value1&r=" + Math.random()

更新:如果它像你在评论中所说的那样绕过你的memcache,你应该检查服务器端读取memcache的条件。