我目前正在尝试加快 ajax 请求的速度。基本上,该站点通过实时过滤工作。因此,当用户单击表单元素时,数据将相应加载。这一切都非常好,但它没有我想要的那么快。
我的 AJAX 看起来有点像这样(我显然省略了变量):
$.ajax({
type: "GET",
url: 'URL NAME',
data: {
'Var1': Var1,
'Var2': Var2
},
cache:true, // Set cache to TRUE
success: function(data) {
$('.content').html(data);
},
complete: function () {
$("#loading_ajax").hide();
$('.content').fadeIn();
}
}).error(function (event, jqXHR, ajaxSettings, thrownError) {
$('.content').html("<h2>Could not retrieve data</h2>");
//alert('[event.status:' + event.status + '], [event:' + event + '], [jqXHR:' + jqXHR + '], [ajaxSettings:' + ajaxSettings + '], [thrownError:' + thrownError + '])');
});
在请求数据的另一端,PHP 中的第一行是这样的:
$seconds = 86400;
header("Cache-Control: private, max-age=$seconds");
header("Expires: ".gmdate('r', time()+$seconds));
然后我进入 Firebug 来检查缓存,它似乎根本不起作用。Firebug 打印出以下内容:
那里的第二个屏幕截图显示请求实际上变慢了(我重复它以查看缓存是否会改善它并且它没有产生任何影响)。有任何想法吗?谢谢。