0

I added a service worker to my project, and the GET requests work perfectly online and offline.
but i have a problem with non-GET requests when online.
when i load the website using http-server (to activate the service worker),
it seems like the service worker intercepts them. and it never forwards the POST/DELETE request to the server in the same method.
instead of sending DELETE/POST requests to the server, it sends a GET request to the same path, (which is not helpful obviously) and of course the item is not removed: enter image description here

ngsw-config.json: enter image description here

localhost:3000 is the server.

when i'm loading the website using ng serve (without a service-worker) everything works perfectly.

can anyone tell me how i can fix it?

richard nelson
  • 247
  • 4
  • 12

1 Answers1

1

In order to get the fresh response from the cache you need to specify cache strategy (freshness or performance) in the ngsw-config.json file.

After assetGroups key add below dataGroups:

"dataGroups": [{
    "name": "GiveAnySuitableName",
    "urls": [
      "/**",
    ],
    "cacheConfig": {
      "strategy": "freshness",
      "maxSize": 100,
      "maxAge": "3d",
      "timeout":"3s"
    }
  }
]

Official angular PWA documentation: https://angular.io/guide/service-worker-config

vndpal
  • 697
  • 6
  • 20