我正在使用 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'
);
任何帮助,将不胜感激 :)