XMLHttpRequest:setRequestHeader() 方法

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

io error: No such file or directory (os error 2) (/home/runner/work/yari/yari/mdn/translated-content/files/zh-cn/web/api/xmlhttprequest_api/index.md)

备注: 此特性在 Web Worker(不包括 Service Worker)中可用。

XMLHttpRequestsetRequestHeader() 方法设置 HTTP 请求头部的值。此方法必须在 open() 方法和 send() 之间调用。如果多次对同一个请求头赋值,只会生成一个合并了多个值的请求头。

在第一次调用 setRequestHeader() 之后的每次调用,指定文本会附加到存在的标头内容的末尾。

如果没有设置 Accept 标头,则在调用 send() 时,会随请求发送一个类型为 "*/*"Accept 标头。

安全起见,有些禁止修改的标头的值只能由用户代理控制。任何通过前端 JavaScript 代码为其中一个标头设置值的尝试都将被忽略,不会出现警告或错误。

另外,Authorization HTTP 标头可以添加到请求中,但如果请求被跨源重定向,则会被删除。

备注: 对于自定义字段,在跨域请求时可能遇到“not allowed by Access-Control-Allow-Headers in preflight response”异常,你可能需要在你的服务端设置 Access-Control-Allow-Headers

语法

js
setRequestHeader(header, value)

参数

要设置的标头的名称。

value

要设置的标头正文的值。

返回值

无(undefined)。

规范

Specification
XMLHttpRequest Standard
# the-setrequestheader()-method

浏览器兼容性

BCD tables only load in the browser

参见