5

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

我想缓存 Web 服务调用。所以,我在我的 ngsw-config.json 中有这个配置,用于 dataGroups :

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

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

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

知道这有什么问题吗?

4

1 回答 1

5

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

在这篇博客文章中,它展示了一个关于如何使用 Indexed Db(如 Roman Gherta 所建议)来存储 POST/PUT 请求的示例。

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

于 2018-09-15T13:30:42.253 回答