4 javascript content-type fetch-api
有没有办法发送 HTTP 请求并fetch()告诉它不要自动设置标头?我试图让它发送一个没有 的请求Content-Type,我可以让它发送一个空标头
Content-Type:
Run Code Online (Sandbox Code Playgroud)
像这样
fetch('http://localhost:8000/', {
method: 'POST',
headers: {
'Content-Type': ''
},
body: 'some data'
});
Run Code Online (Sandbox Code Playgroud)
但我可以让它完全不包含该行吗?
根据https://fetch.spec.whatwg.org/#dom-request和https://fetch.spec.whatwg.org/#concept-bodyinit-extract的第 36 步,fetch带有请求正文的发起请求将始终最终得到一个Content-Type标头 \xe2\x80\x94 因为在规范中带有请求主体的请求只能采用两个可能的路径:
Content-Type如果您在调用中根本没有指定任何标头fetch,那么浏览器始终会自动Content-Type为请求设置标头;除非\xe2\x80\xa6Content-Type在fetch调用中指定标头,则浏览器将使用您设置的值。因此,因为这两个是唯一可能的结果,并且因为fetchAPI 不提供任何方法来完全删除任何浏览器设置的请求标头,那么如果请求有请求正文,则没有 xe2x80x99使用 API 发送请求fetch且不以标头结尾的方法Content-Type。