在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方法,都是沒有碰見過的。fetch

此次請求與平時開發中發送的請求有如下幾點不一樣網站

1.該次請求對象網站是跨域地址spa

2.本次請求添加的請求頭服務端不會獲取code

遂根據瀏覽器返回的請求信息字段名進行查詢,查詢得知對象

access-control-request-headers:bbbbbbbbbbb
access-control-request-method:GET

名爲預檢頭,是CORS請求中用於向服務端發送請求時獲取准許的一個步驟。服務端的迴應主要在Response 中的Access-Control-Allow-Origin字段體現。blog

具體相關信息能夠查閱MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Access_control_CORSip

相關文章
相關標籤/搜索