Chrome没有缓存JSON响应

rec*_*gle 5 django jquery json caching google-chrome

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

请求

查看Chrome中的响应标头,一切看起来都不错.该Cache-Control头存在,所以我敢肯定,这个问题是Django的范围之外.

响应

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

日志

码:

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

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

其他:

没有勾选小禁用缓存复选框,因此Chrome 应该缓存响应.

编辑:

这都是在我的开发环境中设置的.所以服务器正在服务127.0.0.1:8000.

zer*_*kms 7

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

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

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