我正在编写基于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
});
}
其它
我们不会勾选小禁用缓存复选框,因此Chrome 应缓存响应。
修改
这都是在我的开发环境中设置的。因此,服务器正在127.0.0.1:8000
。
答案 0 :(得分:7)
如果您使用地址栏或F5打开页面,则Chrome会发送Cache-Control:max-age=0
。
就是这样 - 如果你想看到它正常工作,请点击链接进入该页面。