国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【JS】獲取 Headers 頭部信息

這篇具有很好參考價值的文章主要介紹了【JS】獲取 Headers 頭部信息。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

一、應(yīng)用場景

  • 當我們請求一個接口的時候,會發(fā)現(xiàn) res 里面包含一個 headers 響應(yīng)頭信息:
fetch(url, {
   method: 'GET',
   headers: {
     'content-type': 'application/json',
     'X-Requested-With': 'XMLHttpRequest',
   },
   mode: 'cors',
   credentials: 'include',
 }).then(res => {
   console.log('res =', res);
 });

【JS】獲取 Headers 頭部信息

  • 首先他里面肯定是有值的,只不過是一個Headers 對象,直接提供對象點語法是取不出來的

【JS】獲取 Headers 頭部信息

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
 });

這時候就要用到 Headers 對象 自帶的方法了

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
   // 不區(qū)分大小寫
   console.log('res =', res.headers.get('conTEnt-length'));	// 1590
 });

二、實例方法

  • 創(chuàng)建一個空的 Headers 對象是簡單的:
var myHeaders = new Headers();

2.1、追加:append()

  • append() 方法:可以追加一個新值到已存在的 headers 上,或者新增一個原本不存在的 header。
  • 語法:
`參數(shù):
	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" ]
  • 要使用新值覆蓋舊值,請使用Headers.set。

2.2、獲?。篻et()

  • get() 方法:以 ByteString 形式從 Headers 對象中返回指定 header 的全部值。如果 Header 對象中不存在請求的 header,則返回 null。
  • 語法:
`參數(shù):
	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()

  • set() 方法:在可以在已經(jīng)聲明中的 headers 對象修改已有的一組鍵值對或者創(chuàng)建一個新的鍵值對。
  • 語法:
`參數(shù):
	name: 需要對 HTTP header 設(shè)置新值的 key,一般為字符串。
		  如果設(shè)置的name 不是 HTTP header 規(guī)范里面規(guī)定的 name,那么將會拋出錯誤"TypeError"。
	value: value 就是 name 對應(yīng)的值.
`
myHeaders.set(name);
  • 示例:
var myHeaders = new Headers(); 
myHeaders.append('Content-Type', 'image/jpeg');
myHeaders.set('Content-Type', 'text/html');		// 'text/html'

// 如果這個鍵值對不存在,那么 set() 方法首先創(chuàng)建一個鍵值對,然后給它賦值。
myHeaders.set('Accept-Encoding', 'deflate');
// 如果這個鍵值對存在,那么 set() 方法將會覆蓋之前的 value 值:
myHeaders.set('Accept-Encoding', 'gzip');
myHeaders.get('Accept-Encoding'); // 'gzip'
  • 如果你需要增加一個鍵值對,而不是要覆蓋之前的鍵值對,那么你需要用append()方法

2.4、判斷:has()

  • has()方法:返回一個布爾值來聲明一個 Headers對象 是否包含特定的頭信息。
  • 語法:
`參數(shù):
	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()

  • delete()方法:可以從 Headers 對象中刪除指定 header.
  • 語法:
`參數(shù):
	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 Iterator {}迭代器,不能使用普通的for、forEach、map方法去遍歷文章來源地址http://www.zghlxwxcb.cn/news/detail-499211.html

// 創(chuàng)建一個 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);
   /*
   		打印結(jié)果:
   		'Content-Type'
   		'Vary'
   */
}

// 顯示 Headers 中所有的 value
for(var value of myHeaders.values()) {
   console.log(value);
   /*
   		打印結(jié)果:
   		'text/xml'
   		'Accept-Language'
   */
}

// 顯示 Headers 中所有的 [key, value] 鍵值對
for(var entrie of myHeaders.entries()) {
   console.log(entrie);
   /*
   		打印結(jié)果:
   		['Content-Type', 'text/xml']
   		['Vary', 'Accept-Language']
   */
}

到了這里,關(guān)于【JS】獲取 Headers 頭部信息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包