Chrome没有缓存JSON响应

时间:2014-07-22 01:32:39

标签: jquery json django google-chrome caching

我正在编写基于AJAX的自动完成功能,并试图通过使用客户端缓存来防止我的服务器被请求淹没。设置如下,Django在后端提供JSON响应,客户端使用jQuery的AJAX例程来GET相应的数据。

request

查看Chrome中的响应标头,一切看起来都不错。 Cache-Control标题存在,因此我非常确定问题不在Django的范围之内。

response

但是,服务器日志显示已向API发出请求。

logs

代码:

这是我用来查询API的代码。

function get(url, callback) {
    jQuery.ajax({
        type: 'GET',
        contentType: 'application/json',
        dataType: 'json',
        cache: true,
        url: url,
        success: callback
    });
}

其它

我们不会勾选小禁用缓存复选框,因此Chrome 缓存响应。

修改

这都是在我的开发环境中设置的。因此,服务器正在127.0.0.1:8000

提供服务

1 个答案:

答案 0 :(得分:7)

如果您使用地址栏或F5打开页面,则Chrome会发送Cache-Control:max-age=0

就是这样 - 如果你想看到它正常工作,请点击链接进入该页面。

相关但过时的答案:https://stackoverflow.com/a/385491/251311