blob: e447182f2b6864ea08fa3aeb0f1d486be5e04775 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
---
title: XMLHttpRequest.getResponseHeader()
slug: Web/API/XMLHttpRequest/getResponseHeader
tags:
- API
- HTTP协议
- XHR头
- XHR请求
- XMLHttpRequest
- getResponseHeader
- http头
- 引用
- 得到响应头
- 报文
- 方法
translation_of: Web/API/XMLHttpRequest/getResponseHeader
---
<p>{{draft}}{{APIRef('XMLHttpRequest')}}</p>
<p><strong>XMLHttpRequest.getResponseHeader()</strong>方法返回包含指定响应头文本的字符串。</p>
<p>如果在返回的响应头中有多个一样的名称,那么返回的值就会是用逗号和空格将值分隔的字符串。getResponseHeader()方法以UTF编码返回值。搜索的报文名是不区分大小写的。</p>
<h2 id="语法">语法</h2>
<pre class="notranslate">var myHeader = XMLHttpRequest.getResponseHeader(name);</pre>
<h3 id="参数">参数</h3>
<dl>
<dt>name</dt>
<dd>一个字符串,表示要返回的报文项名称。</dd>
</dl>
<h3 id="返回值">返回值</h3>
<p>报文项值,如果连接未完成,响应中不存在报文项,或者被W3C限制,则返回null。</p>
<h2 id="示例:">示例:</h2>
<pre class="brush: js notranslate">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();//终止连接
}
}
}</pre>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">规范</th>
<th scope="col">状态</th>
<th scope="col">注释</th>
</tr>
<tr>
<td>{{SpecName('XMLHttpRequest', '#dom-xmlhttprequest-getresponseheader', 'getResponseHeader()')}}</td>
<td>{{Spec2('XMLHttpRequest')}}</td>
<td>WHATWG living standard</td>
</tr>
</tbody>
</table>
<h2 id="浏览器兼容性">浏览器兼容性</h2>
<div>{{CompatibilityTable}}</div>
<div id="compat-desktop">
<table class="compat-table">
<tbody>
<tr>
<th>浏览器</th>
<th>Chrome</th>
<th>Edge</th>
<th>Firefox (Gecko)</th>
<th>Internet Explorer</th>
<th>Opera</th>
<th>Safari (WebKit)</th>
</tr>
<tr>
<td>基础支持</td>
<td>{{CompatChrome(1)}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatUnknown}}<sup>[1]</sup></td>
<td>{{CompatIe('5')}}<sup>[2]</sup><br>
{{CompatIe('7')}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatSafari('1.2')}}</td>
</tr>
</tbody>
</table>
</div>
<div id="compat-mobile">
<table class="compat-table">
<tbody>
<tr>
<th>
<p>浏览器</p>
</th>
<th>Android</th>
<th>Chrome for Android</th>
<th>Edge</th>
<th>Firefox Mobile (Gecko)</th>
<th>IE Mobile</th>
<th>Opera Mobile</th>
<th>Safari Mobile</th>
</tr>
<tr>
<td>基础支持</td>
<td>{{CompatUnknown}}</td>
<td>1.0</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatVersionUnknown}}</td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
<td>{{CompatUnknown}}</td>
</tr>
</tbody>
</table>
</div>
<p>[1]从Firefox 49开始,在首选项network.http.keep_empty_response_headers_as_empty_string设置为true的情况下,空响应头将作为空字符串返回,默认为false。 在Firefox 49之前,空响应头已被忽略。从Firefox 50开始,该项默认设置为true。</p>
<p>[2]该功能最开始是通过ActiveXObject()实现的。 直到Internet Explorer 7,标准的XMLHttpRequest才出现。</p>
<h2 id="也请看看">也请看看:</h2>
<ul>
<li>如何使用<a href="/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest">XMLHttpRequest</a></li>
<li><a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTTP/Headers">HTTP headers</a></li>
<li>{{DOMxRef("XMLHttpRequest.getAllResponseHeaders", "getAllResponseHeaders()")}}</li>
<li>{{DOMxRef("XMLHttpRequest.response", "response")}}</li>
<li>设置请求头: {{DOMxRef("XMLHttpRequest.setRequestHeader", "setRequestHeader()")}}</li>
</ul>
|