一、应用场景
fetch(url, {
method: 'GET',
headers: {
'content-type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
},
mode: 'cors',
credentials: 'include',
}).then(res => {
console.log('res =', res);
});
fetch(url, {
method: 'GET',
headers: {
'content-type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
},
mode: 'cors',
credentials: 'include',
}).then(res => {
console.log('res =', res.headers.Date); // undefined
console.log('res =', res.headers.date); // undefined
});
fetch(url, {
method: 'GET',
headers: {
'content-type': 'application/json',
'X-Requested-With': 'XMLHttpRequest',
},
mode: 'cors',
credentials: 'include',
}).then(res => {
console.log('res =', res.headers.get('Content-Length')); // 1590
console.log('res =', res.headers.get('content-length')); // 1590
// 不区分大小写
console.log('res =', res.headers.get('conTEnt-length')); // 1590
});
二、实例方法
var myHeaders = new Headers();
2.1、追加:append()
`参数:
name: 要追加给 Headers 对象的 HTTP header 名称。
value: 要追加给 Headers 对象的 HTTP header 值。
`
myHeaders.append(name,value);
- 示例:
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.get('Content-Type'); // Returns 'image/jpeg'
// 如果指定 header 不存在,append()将会添加这个 header 并赋值 .
myHeaders.append('Accept-Encoding', 'deflate');
// 如果指定 header 已存在并允许有多个值,append()将会把指定值添加到值队列的末尾。
myHeaders.append('Accept-Encoding', 'gzip');
myHeaders.getAll('Accept-Encoding'); // Returns [ "deflate", "gzip" ]
2.2、获取:get()
`参数:
name: 要获取 Headers 对象的 HTTP header 名称。
`
myHeaders.get(name);
- 示例:
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.get('Content-Type'); // 'image/jpeg'
// 如果存在多个 header 值,那么只有第一个值会被返回:
myHeaders.append('Accept-Encoding', 'deflate');
myHeaders.append('Accept-Encoding', 'gzip');
myHeaders.get('Accept-Encoding'); // "deflate,gzip"
2.3、覆盖:set()
`参数:
name: 需要对 HTTP header 设置新值的 key,一般为字符串。
如果设置的name 不是 HTTP header 规范里面规定的 name,那么将会抛出错误"TypeError"。
value: value 就是 name 对应的值.
`
myHeaders.set(name);
- 示例:
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.set('Content-Type', 'text/html'); // 'text/html'
// 如果这个键值对不存在,那么 set() 方法首先创建一个键值对,然后给它赋值。
myHeaders.set('Accept-Encoding', 'deflate');
// 如果这个键值对存在,那么 set() 方法将会覆盖之前的 value 值:
myHeaders.set('Accept-Encoding', 'gzip');
myHeaders.get('Accept-Encoding'); // 'gzip'
2.4、判断:has()
`参数:
name: 你要测试的 HTTP 头字段的名称。
如果给出的名称不在 HTTP 头中,将爬出异常TypeError。
`
myHeaders.has(name);
- 示例:
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.has('Content-Type'); // true
myHeaders.has('Accept-Encoding'); // false
2.5、判断:delete()
`参数:
name: 需删除的 HTTP header 名称。
`
myHeaders.delete(name);
- 示例:
var myHeaders = new Headers();
// 先添加
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.get('Content-Type'); // 'image/jpeg'
// 后删除
myHeaders.delete('Content-Type');
myHeaders.get('Content-Type'); // null(因为它已被删除)
2.6、遍历:key(),values(),entries()
// 创建一个 Headers 对象
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'text/xml');
myHeaders.append('Vary', 'Accept-Language');
// 显示 Headers 中所有的 key
for(var key of myHeaders.keys()) {
console.log(key);
/*
打印结果:
'Content-Type'
'Vary'
*/
}
// 显示 Headers 中所有的 value
for(var value of myHeaders.values()) {
console.log(value);
/*
打印结果:
'text/xml'
'Accept-Language'
*/
}
// 显示 Headers 中所有的 [key, value] 键值对
for(var entrie of myHeaders.entries()) {
console.log(entrie);
/*
打印结果:
['Content-Type', 'text/xml']
['Vary', 'Accept-Language']
*/
}
原文地址:https://blog.csdn.net/qq_45677671/article/details/130860036
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_35124.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。