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.

备注: 此特性在 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
# the-setrequestheader()-method

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
setRequestHeader

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见