1

有谁可以帮我在 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;字符集=utf-8
  • 缓存控制 max-age=3600
  • 保活超时=5,最大值=100
  • 2012 年 8 月 28 日星期二 16:19:30 GMT

使用上述设置,如果我查看 chrome 或 safaris 网络调试器,则不会进行缓存。也许有人可以帮助我解决我做错了什么?或者也许有人对在 Trigger.io 中进行缓存有更好的想法?

预先感谢!

4

1 回答 1

1

在我最近开发的一个应用程序中,我缓存(在内存中)生成的 json,直到用户按下小“刷新”图标。我想我可以添加一个额外的用户偏好设置以在 x 天后自动过期。此外,我可以使用 trigger.io 将 json 保存到磁盘,而不是使用内存。

如果你想看看我是怎么做的,这里是应用程序(注意:我今天早上提交了几个未经测试的 tweeks):

https://github.com/dragthor/south-ridge-app

viewmanager.js 处理大部分的主干.js 模型缓存逻辑。基本上我照常做:

  1. 模型在缓存中吗?
  2. 如果是,则使用缓存模型。
  3. 如果否,则绑定模型(通过 json)添加到缓存。
  4. 使用它(返回的模型)。
于 2012-08-28T18:50:22.630 回答