我将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服务,其表单数据作为有效负载发送。
知道这有什么问题?
答案 0 :(得分:1)
Service Worker API不允许POST / PUT请求。
在此blog article中,展示了一个示例,说明如何使用索引Db(由Roman Gherta建议)来存储POST / PUT请求。
在Mozilla resource上也建议使用此解决方案。