首頁  >  文章  >  web前端  >  如何解決在fetch方法中加入header後遇到的預檢請求

如何解決在fetch方法中加入header後遇到的預檢請求

巴扎黑
巴扎黑原創
2017-09-01 11:37:202951瀏覽

下面小編就為大家帶來一篇淺談在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn