XMLHttpRequest: getResponseHeader() 方法

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

注意:此功能在 Web Workers 中可用,但 Service Workers 除外。

XMLHttpRequest 方法 getResponseHeader() 返回一个字符串,其中包含特定响应头的值。

如果存在多个同名的响应头,则它们的值将作为一个单独的连接字符串返回,每个值与前一个值之间用逗号和空格分隔。getResponseHeader() 方法将值作为 UTF 字节序列返回。

注意: 头部名称的搜索不区分大小写。

如果您需要获取所有响应头的原始字符串,请使用 getAllResponseHeaders() 方法,该方法返回整个原始响应头字符串。

语法

js
getResponseHeader(headerName)

参数

headerName

一个字符串,指示您想要返回其文本值的响应头的名称。

返回值

一个字符串,表示响应头的值,或者如果尚未收到响应或响应中不存在该响应头,则为 null

示例

在此示例中,会创建一个请求并发送,同时会设置一个 readystatechange 处理程序,用于监视 readyState 以指示响应头已收到;在这种情况下,将获取 Content-Type 响应头的值。如果 Content-Type 不是期望的值,则通过调用 abort() 来取消 XMLHttpRequest

js
const client = new XMLHttpRequest();
client.open("GET", "unicorns-are-awesome.txt", true);
client.send();

client.onreadystatechange = () => {
  if (client.readyState === client.HEADERS_RECEIVED) {
    const contentType = client.getResponseHeader("Content-Type");
    if (contentType !== my_expected_type) {
      client.abort();
    }
  }
};

规范

规范
XMLHttpRequest
# dom-xmlhttprequest-getresponseheader

浏览器兼容性

另见