--- title: XMLHttpRequest.getResponseHeader() slug: Web/API/XMLHttpRequest/getResponseHeader tags: - API - HTTP协议 - XHR头 - XHR请求 - XMLHttpRequest - getResponseHeader - http头 - 引用 - 得到响应头 - 报文 - 方法 translation_of: Web/API/XMLHttpRequest/getResponseHeader ---

{{draft}}{{APIRef('XMLHttpRequest')}}

XMLHttpRequest.getResponseHeader()方法返回包含指定响应头文本的字符串。

如果在返回的响应头中有多个一样的名称,那么返回的值就会是用逗号和空格将值分隔的字符串。getResponseHeader()方法以UTF编码返回值。搜索的报文名是不区分大小写的。

语法

var myHeader = XMLHttpRequest.getResponseHeader(name);

参数

name
一个字符串,表示要返回的报文项名称。

返回值

报文项值,如果连接未完成,响应中不存在报文项,或者被W3C限制,则返回null。

示例:

var client = new XMLHttpRequest();//新建XMLHttpRequest对象。
client.open("GET", "somefile.txt", true);//采用异步,GET方式获取somefile.txt。
client.send();//发送空的query string。
client.onreadystatechange = function() {//设定侦听器onreadystatechange。
  if(this.readyState == this.HEADERS_RECEIVED) {//如果readyState表示响应头已返回
    var contentType=client.getResponseHeader("Content-Type"));//将此连接的Content-Type响应头项赋值到contentType。
    if(contentType != my_expected_type) {//如果这不是你的预期值
      client.abort();//终止连接
    }
  }
}

规范

规范 状态 注释
{{SpecName('XMLHttpRequest', '#dom-xmlhttprequest-getresponseheader', 'getResponseHeader()')}} {{Spec2('XMLHttpRequest')}} WHATWG living standard

浏览器兼容性

{{CompatibilityTable}}
浏览器 Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基础支持 {{CompatChrome(1)}} {{CompatVersionUnknown}} {{CompatUnknown}}[1] {{CompatIe('5')}}[2]
{{CompatIe('7')}}
{{CompatVersionUnknown}} {{CompatSafari('1.2')}}

浏览器

Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
基础支持 {{CompatUnknown}} 1.0 {{CompatVersionUnknown}} {{CompatVersionUnknown}} {{CompatUnknown}} {{CompatUnknown}} {{CompatUnknown}}

[1]从Firefox 49开始,在首选项network.http.keep_empty_response_headers_as_empty_string设置为true的情况下,空响应头将作为空字符串返回,默认为false。 在Firefox 49之前,空响应头已被忽略。从Firefox 50开始,该项默认设置为true。

[2]该功能最开始是通过ActiveXObject()实现的。 直到Internet Explorer 7,标准的XMLHttpRequest才出现。

也请看看: