[英]Tell fetch() to not send a Content-Type header at all
有沒有辦法使用fetch()
發送 HTTP 請求並告訴它不要自動設置 header? 我試圖讓它發送一個沒有Content-Type
的請求,我可以讓它發送一個空的 header
Content-Type:
像這樣
fetch('http://localhost:8000/', {
method: 'POST',
headers: {
'Content-Type': ''
},
body: 'some data'
});
但我可以讓它根本不包括這條線嗎?
根據https://fetch.spec.whatwg.org/#dom-request和https://fetch.spec.whatwg.org/#concept-bodyinit-extract的第 36 步,帶有請求主體的fetch
發起的請求將總是以Content-Type
header 結尾——因為在規范中,帶有請求主體的請求只能采用兩種可能的路徑:
fetch
調用中根本沒有指定任何Content-Type
header,那么瀏覽器總是會自動為請求設置Content-Type
header; 除非…fetch
調用中指定Content-Type
header,則瀏覽器將使用您設置的值。 因此,因為這兩個是唯一可能的結果,並且因為fetch
API 沒有提供任何方法來完全刪除任何瀏覽器設置的請求標頭,所以如果請求具有請求正文,則無法使用fetch
API 發送請求沒有它以Content-Type
header 結尾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.