在Trigger.IO中缓存json

在Trigger.IO中缓存json,json,caching,trigger.io,Json,Caching,Trigger.io,有人能帮我在Trigger.io中缓存json字符串吗?我有很多json请求,我认为最好将它们缓存一个小时。根据关于$.ajax的jquery手册(Trigger.io指向forge.request.ajax的本手册),jsonp和脚本作为一种类型没有缓存,但我在这里使用json,所以我希望对其进行一些缓存 我正在使用forge.request.ajax,如下所示: forge.request.ajax({ url: the_url_to_api, dataType: 'js

有人能帮我在Trigger.io中缓存json字符串吗?我有很多json请求,我认为最好将它们缓存一个小时。根据关于$.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
  • 缓存控制最大年龄=3600
  • 保持活动超时=5,最大值=100
  • 2012年8月28日星期二16:19:30 GMT到期
使用上述设置,如果我查看chromes或safaris网络调试器,则不会进行缓存。。也许有人能帮我做错事?或者有人有更好的主意在Trigger.io中缓存


谢谢你

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

如果你想了解我是如何做到这一点的,这里有一个应用程序(注意:今天早上我提交了几个未经测试的tweek):

viewmanager.js处理大多数backbone.js模型缓存逻辑。基本上,我会照常做:

  • 模型是否在缓存中
  • 如果是,则使用缓存模型
  • 如果否,则绑定模型(通过json)添加到缓存
  • 使用它(返回的模型)

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

    如果你想了解我是如何做到这一点的,这里有一个应用程序(注意:今天早上我提交了几个未经测试的tweek):

    viewmanager.js处理大多数backbone.js模型缓存逻辑。基本上,我会照常做:

  • 模型是否在缓存中
  • 如果是,则使用缓存模型
  • 如果否,则绑定模型(通过json)添加到缓存
  • 使用它(返回的模型)

  • 所以你现在把它作为浏览器扩展运行?在Chrome和Safari上,我们只需将request.ajax调用传递给jQuery,因此您应该能够让jQuery请求缓存独立工作,然后将相同的技术应用于request.ajax.Ok,因此对于web版本,它只是jQuery。。在iOS/Android上,它是本机http对象吗?在我的网络工具中,我只看到一个始终是POST的请求,在响应时间之前,我知道结果没有被缓存。所以你现在正在将其作为浏览器扩展运行?在Chrome和Safari上,我们只需将request.ajax调用传递给jQuery,因此您应该能够让jQuery请求缓存独立工作,然后将相同的技术应用于request.ajax.Ok,因此对于web版本,它只是jQuery。。在iOS/Android上,它是本机http对象吗?在我的网络工具中,我只看到一个始终是帖子的请求,在响应时间之前,我知道结果不会被缓存。感谢分享你的应用程序!我也在考虑这样的缓存解决方案,但我需要建立一个缓存机制,在给定的时间戳之后强制执行一个新的json请求。我认为在api上设置标题是一个更好的解决方案。我接受了你的回答。你的应用对我很有用,我选择了一个缓存选项,就像你一样,但是每5分钟重置一次我的缓存对象,如下所示:setInterval(function(){cache={};},300000);谢谢分享你的应用程序!我也在考虑这样的缓存解决方案,但我需要建立一个缓存机制,在给定的时间戳之后强制执行一个新的json请求。我认为在api上设置标题是一个更好的解决方案。我接受了你的回答。你的应用对我很有用,我选择了一个缓存选项,就像你一样,但是每5分钟重置一次我的缓存对象,如下所示:setInterval(function(){cache={};},300000);