下面小編就為大家帶來一篇淺談在fetch方法中加入header後遇到的預檢請求問題。小編覺得蠻不錯的,現在就分享給大家,也給大家做個參考。一起跟著小編過來看看吧
今天在使用fetch方法
fetch('xxx.com',{header:{bbbbbbb:111}})
瀏覽器傳回的請求資訊中,header變成了
:authority:koss.nocorp.me :method:OPTIONS :path:/?a=1 :scheme:https accept:*/* accept-encoding:gzip, deflate, br accept-language:zh-CN,zh;q=0.8 access-control-request-headers:bbbbbbbbbbb access-control-request-method:GET origin:http://localhost:3333 referer:http://localhost:3333/ user-agent:Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
而該次請求的Request Method也變成了OPTION,不論是生成的奇怪請求頭,還是OPTION方法,都是沒有遇見過的。
這次請求與平時開發中發送的請求有以下幾點不同
1.該次請求物件網站是跨域位址
2.本次請求新增的請求頭服務端不會取得
遂根據瀏覽器傳回的請求資訊欄位名稱進行查詢,查詢得知
access-control-request-headers:bbbbbbbbbbb access-control-request-method:GET
名為預檢頭,是CORS請求中用於向服務端發送請求時獲取準許的一個步驟。服務端的回應主要在Response 中的Access-Control-Allow-Origin欄位中體現。
以上是如何解決在fetch方法中加入header後遇到的預檢請求的詳細內容。更多資訊請關注PHP中文網其他相關文章!