有POST请求的Angular Service Worker

时间:2018-03-04 22:21:24

标签: angular angular-service-worker

我将Angular 5.2.7与Angular Service Worker 5.2.7一起使用。

我想缓存webservices调用。所以,我在我的ngsw-config.json中使用了这个配置,对于dataGroups:

"dataGroups": [{
  "name": "tasks-users-api",
  "urls": ["/api", "/rest"],
  "cacheConfig": {
    "strategy": "freshness",
    "maxSize": 20000,
    "maxAge": "1h",
    "timeout": "5s"
  }
}]

我尝试缓存这两个网址: https://randomuser.me/api/?results=20 --->没关系 https://test.moodlecloud.com/webservice/rest/server.php --->这是KO

第一个按预期缓存。这是一个简单的GET服务。 第二个不是。这是一个POST服务,其表单数据作为有效负载发送。

知道这有什么问题?

1 个答案:

答案 0 :(得分:1)

Service Worker API不允许POST / PUT请求。

在此blog article中,展示了一个示例,说明如何使用索引Db(由Roman Gherta建议)来存储POST / PUT请求。

Mozilla resource上也建议使用此解决方案。