cors - 工作箱后台同步 CORS
问题描述
我正在使用 Workbox 使用后台同步插件。不幸的是,我的应用程序的插件没有按预期运行,它依赖于 CORS 请求。
我的应用程序首先发送一个选项预检请求以确保该请求被允许,然后发送真正的请求。
问题是当我离线时,在我的实际请求有机会保存在 IndexDb 中并稍后重播之前,预检请求失败并导致我的应用程序崩溃。
我该如何解决这个问题?
我目前正在按照文档中的建议配置我的后台同步,但是使用跨域端点,如下所示:
const bgSyncPlugin = new workbox.backgroundSync.Plugin('myQueueName', {
maxRetentionTime: 24 * 60 // Retry for max of 24 Hours
});
workbox.routing.registerRoute(
new RegExp("https://my-api.example.com/api/add"),
workbox.strategies.networkOnly({
plugins: [bgSyncPlugin]
}),
'POST'
);
取自这里:https ://developers.google.com/web/tools/workbox/modules/workbox-background-sync
我想知道我是否也应该将OPTIONS
请求添加到 IndexDB?
workbox.routing.registerRoute(
new RegExp("https://my-api.example.com/api/add"),
workbox.strategies.networkOnly({
plugins: [bgSyncPlugin]
}),
'OPTIONS'
);
任何帮助,将不胜感激 :)
解决方案
推荐阅读
- javascript - 出现错误 - {Animated node with tag 2 does not exist} 在 android 设备上运行 react native expo
- python - docker-compose build -> 许多“PermissionError:[Errno 13] Permission denied”错误
- java - JAXB Unmarshalling,无法从带有额外标签的 xml 中提取数据
- python-3.x - 将 JSON 列表展平为嵌套结构
- python - 在 Django 中命名路径以在 html 模板中引用
- python - 如何在 Python 中将 Days Duration 划分为更小的部分
- javascript - TypeError:“warnInfo”不可迭代
- grafana - 在 png 图像上叠加 Grafana 图?
- c# - 尝试在 asp.net 核心应用程序中使用 SmtpClient 发送电子邮件时出错
- javascript - React & Materialise - Material Box 选项的实现