[英]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.