![](/img/trans.png)
[英]How to pass Laravel CSRF token to Service Worker so i can make a POST request?
[英]How Can I use POST http method with Service Worker?
我在Service Worker中提取此命令
if (event.request.method =='POST') {
event.respondWith(fetch(event.request,{method: 'post'}));
return;
}
但我得到這個錯誤:
未捕獲(承諾)TypeError:無法在“ ServiceWorkerGlobalScope”上執行“獲取”:無法使用模式為“導航”且非空RequestInit的請求構造請求。
我該怎么辦 ?
根據您提供的示例代碼,當您處理POST
請求的fetch
存事件時,您似乎只想實現默認的,假裝的“無服務工人”行為。
最簡單的方法是根本不首先調用event.respondWith()
。 調用event.respondWith()
是可選的,如果您未在fetch
處理程序中調用它,則服務工作者將尋找任何其他已注冊的fetch
處理程序,並為其提供響應的機會。
如果沒有任何fetch
事件處理程序響應,則將通過瀏覽器緩存(取決於請求標頭和緩存的狀態)或網絡來完成請求,就像沒有服務人員參與一樣。
如果由於某種原因,您確實需要調用`event.respondWith(),但您想模仿默認行為,請使用
event.respondWith(fetch(event.request));
應該可以工作,即省略{method: 'post'}
位。 event.request
已經知道它是POST
,因此不必將其他任何內容傳遞給fetch()
來告訴它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.