【发布时间】:2023-03-16 03:00:01
【问题描述】:
有人可以帮我在 Trigger.io 中缓存一个 json 字符串吗?我有很多 json 请求,我认为将它们缓存 1 小时是个好主意。根据关于 $.ajax 的 jquery 手册(Trigger.io 指向 forge.request.ajax 的本手册)没有缓存 jsonp 和脚本作为一种类型,但我在这里使用 json 所以我希望做一些缓存就可以了。
我正在像这样使用 forge.request.ajax:
forge.request.ajax({
url: the_url_to_api,
dataType: 'json',
cache: true,
success: function(data) {
parsed_template = _.template( $('#sales_index_template').html(), {nowOnSale: data.activeSales, soonOnSale: data.upcomingSales } );
app.end_set_right_content(parsed_template);
},
error: function(error) {
alert('Request for sales failed');
}
});
这是我在 API 中的 json 返回脚本的标头
- 日期 2012 年 8 月 28 日星期二 15:19:30 GMT
- x-powered-by PHP/5.3.15
- 连接保持活动
- 内容长度 4294
- 编译指示缓存
- 服务器 Apache/2.2.11 (Unix) mod_ssl/2.2.11 OpenSSL/0.9.8g PHP/5.3.15
- 内容类型应用程序/json; charset=utf-8
- Cache-Control max-age=3600
- 保持活动超时=5,最大值=100
- 2012 年 8 月 28 日星期二 16:19:30 GMT 到期
使用上述设置,如果我查看 chrome 或 safaris 网络调试器,则不会进行缓存。也许有人可以帮助我解决我做错了什么?或者也许有人对在 Trigger.io 中进行缓存有更好的想法?
谢谢!
【问题讨论】:
-
所以你现在将它作为浏览器扩展运行?在 Chrome 和 Safari 上,我们只是将 request.ajax 调用传递给 jQuery,因此您应该能够让 jQuery 请求缓存单独工作,然后将相同的技术应用于 request.ajax。
-
好吧,对于网页版它只是 jQuery.. 在 iOS / Android 上它是一个原生的 http 对象吗?在我的网络工具中,我只看到一个对localhost:3000/_forge/proxy/moc/pivpohs/www 的请求,它始终是一个 POST,并且到响应时间我知道结果没有被缓存。
标签: json caching trigger.io