gpt4 book ai didi

javascript - 在 Ajax 请求中使用缓存和非缓存 JSON

转载 作者:行者123 更新时间:2023-12-03 08:42:56 24 4
gpt4 key购买 nike

我有两个 JSON 源:getCachedJSON.php 和 getNotCachedJSON.php。正如名称所示,客户端应该缓存第一个结果,而不是第二个结果。这两个文件都会发出适当的 header 来告诉客户端缓存或不缓存数据。

如何最好地实现这一点?

我想出了以下内容,但不知道这是否应该这样做。如果这是正确的方式,应该首先请求缓存的 JSON,然后再请求非缓存的 JSON,还是反过来?

$.ajax({
//cache: true,
url: "getCachedJSON.php",
dataType: "json",
success: function(cachedJSON) {
$.ajax({
//cache: false,
url: "getNotCachedJSON.php",
dataType: "json",
success: function(notCachedJSON) {
var allJSON = $.extend({}, cachedJSON, notCachedJSON);
console.log(allJSON);
}
});
}
});

最佳答案

浏览器为您管理缓存。每次当您发出 GET 请求时,浏览器都会检查其缓存中是否有此资源。如果有,则不会发出请求。要告诉浏览器如何控制缓存,您必须使用 http header ,例如 cache-control 和 max-age(尝试通过 google 了解详细信息)。当浏览器访问您的服务器时,您必须设置这些 header 。您可以使用chrome的开发工具(网络)来检查是否有任何请求。在那里您将看到资源是从缓存还是从请求获取。

如果您想要更好的缓存控制,我建议您使用服务 worker 或浏览器 SQL 数据库。

希望我正确理解你的问题。

关于javascript - 在 Ajax 请求中使用缓存和非缓存 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33001917/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com