2

如何在所有浏览器中缓存 JSON 对象的 jQuery Ajax REST API 响应,主要在 Firefox Mozilla、Chrome、IE8

4

1 回答 1

3

恕我直言,没有跨浏览器解决方案可以强制使用 javascript 缓存 API 请求。哟将需要@Gotschi 推荐的替代方法。

最好也是最常见的方法是按照@Pekka 웃 的建议​​在您的 API 上发送 cacing 标头。

您必须在 API 响应中设置缓存控制标头:

示例(强制 1 小时缓存 = 3600 秒):

Cache-Control: max-age=3600, private

私有属性表示响应消息的全部或部分是针对单个用户的,并且不能被共享缓存缓存。

如果您使用的是 PHP,您可以像这样发送标头(在任何输出之前,如 echo):

<?php
header('Cache-Control: max-age=3600, private');

您也可以使用您的 apache 配置或 .htaccess 文件:

Header set Cache-Control "Cache-Control: max-age=3600, private"

确保不在{cache:false}jQuery.ajax中使用

于 2013-06-20T17:33:56.107 回答