今天在使用fetch方法
fetch('xxx.com',{header:{bbbbbbb:111}})
瀏覽器返回的請求信息中,header變成了
:authority:koss.nocorp.me:method:OPTIONS:path:/?a=1:scheme:httpsaccept:*/*accept-encoding:gzip, deflate, braccept-language:zh-CN,zh;q=0.8access-control-request-headers:bbbbbbbbbbbaccess-control-request-method:GETorigin:http://localhost:3333referer: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:bbbbbbbbbbbaccess-control-request-method:GET
名為預檢頭,是CORS請求中用于向服務端發送請求時獲取準許的一個步驟。服務端的回應主要在Response 中的Access-Control-Allow-Origin字段體現。
具體相關信息可以查閱MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORS
以上這篇淺談在fetch方法中添加header后遇到的預檢請求問題就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答