AngularJS在缓慢的互联网连接上“缓存”:(

时间:2015-02-26 01:47:04

标签: angularjs caching web-applications coffeescript

我有一个简单的angularjs应用程序,如:

module = angular.module 'testFooBarModule', ['ngResource']

module.factory 'FooBar', ($resource)->
    $resource 'foobar/target', {},
        load:
            method: 'GET'
            cache: false # no effect
            headers: 
                'Cache-Control': 'no-cache' # no effect

module.controller 'FooBarCtrl', ($scope, FooBar)->
    FooBar.load (result)->
        console.log result

通过家庭wlan或移动hspa等高速互联网,一切正常。请求已触发,服务器给我一个唯一的响应。 但是对于像边缘或gprs这样的2G互联网,服务器不会收到请求,而angularjs应用程序会给我总是相同的结果。没有错误发生。还发送了“无缓存”标题。

我不知道出了什么问题。任何人都可以帮助我吗?

Sry for my english:D

最好的问候。

1 个答案:

答案 0 :(得分:2)

这可能不是一个有角度的问题。我的猜测是互联网提供商正在对安全带宽进行一些神奇的http代理,或者您的底层操作系统正在尝试为您缓存它。

一些选项:

  • 使用HTTPS可以防止提供商中间人和移动应用无论如何都是个好主意!
  • 使用笨拙的动态参数,如时间戳
  • 使用POST或PUT作为动词
  • 添加' Cache-Control:no-cache'服务器响应中的标头,我认为这是最干净的解决方案