2016-02-08 14 views
5

Ho tentato di memorizzare nella cache una richiesta POST in un addetto al servizio durante l'evento di recupero.Gli addetti al servizio possono memorizzare nella cache le richieste POST?

Ho utilizzato cache.put(event.request, response), ma la promessa restituita è stata rifiutata con TypeError: Invalid request method POST..

Quando ho provato a utilizzare la stessa API POST, caches.match(event.request) mi ha assegnato un valore non definito.

Ma quando ho fatto lo stesso per i metodi GET, ha funzionato: caches.match(event.request) per una richiesta GET mi stava dando una risposta.

Gli addetti al servizio possono memorizzare nella cache le richieste POST? In caso contrario, quale approccio possiamo utilizzare per rendere le app veramente offline?

+0

Dovrebbe essere molto facile provare semplicemente :) – Marco

risposta

13

Non è possibile memorizzare nella cache le richieste POST utilizzando l'API Cache. Vedi https://slightlyoff.github.io/ServiceWorker/spec/service_worker/#cache-put-method (punto 2.2).

C'è una discussione relativa nel repository specifiche: https://github.com/slightlyoff/ServiceWorker/issues/693

Una soluzione interessante è quella presentata nel ServiceWorker Cookbook: https://serviceworke.rs/request-deferrer.html sostanza, la soluzione serializza le richieste di IndexedDB.

Problemi correlati