【问题标题】:Workbox Request method 'POST' is unsupported工作箱请求方法“POST”不受支持
【发布时间】:2018-09-06 16:22:22
【问题描述】:

我正在使用此站点的代码:https://developers.google.com/web/tools/workbox/modules/workbox-routing

我的代码如下:

workbox.routing.registerRoute(
  new RegExp('http://localhost:64445.*/'),
  workbox.strategies.staleWhileRevalidate({
    cacheName:'Post-Run-time-cache'
  }),
  'POST'
);

它给了我错误:

Uncaught (in promise) TypeError: Request method 'POST' is unsupported

我不知道出了什么问题。它来自文档,但不受支持??为什么。谢谢您的帮助。

【问题讨论】:

    标签: service-worker workbox


    【解决方案1】:

    缓存存储 API 不支持使用 Request 对象的 method 不是 'GET' 作为缓存键。尝试将 'POST' 请求存储在缓存中(这是在 staleWhileRevalidate 策略的底层发生的)将失败,并出现类似于您所看到的错误 - 尽管我认为当您“重新进入 Workbox 的开发模式,localhost

    如果您希望重试失败的 'POST' 请求,我建议您使用 workbox-background-sync module

    【讨论】:

    • 是的。我确实使用了 workbox-background-sync 模块并且它有效!谢谢!
    • 你能告诉我如何匹配 PUT、PATCH 请求吗?
    • 如果我对罪魁祸首 URL 域使用 networkOnly 策略,那么服务工作者不应该尝试缓存它,对吧?
    猜你喜欢
    • 2019-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-25
    • 2020-10-29
    • 2016-05-02
    相关资源
    最近更新 更多