成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Fetch API速查表:9個最常見的API請求

開發 前端
對于Fetch API我相信你已經用過它們很多次了,但是你是否還記得語法?如果能避免在舊項目中尋找半年前使用過的特定請求的語法,豈不更好?

[[354148]]

對于Fetch API我相信你已經用過它們很多次了,但是你是否還記得語法?如果能避免在舊項目中尋找半年前使用過的特定請求的語法,豈不更好?

在本文中,我將列出9個最常見的Fetch API請求,在你忘記API的時候可以翻出來查看。

為什么要使用Fetch API?

如今,我們被所有提供漂亮的SDK的服務寵壞了,這些SDK將實際的API請求抽象化,我們只需要使用典型的語言結構來請求數據,而不關心實際的數據交換。

但是,如果你所選擇的平臺沒有SDK怎么辦?或者如果你同時構建服務器和客戶端呢?在這些情況下,你需要自己處理請求,這就是使用Fetch API的方法。

發送簡單GET請求

  1. fetch('{url}').then(response => console.log(response)); 

發送簡單POST請求

  1. fetch('{url}', { 
  2.   method: 'post' 
  3. }).then(response => console.log(response)); 

使用授權令牌進行GET

  1. fetch('{url}', { 
  2.   headers: { 
  3.     'Authorization''Basic {token}' 
  4.   } 
  5. }).then(response => console.log(response)); 

使用查詢字符串數據進行GET

  1. fetch('{url}?var1=value1&var2=value2'
  2.     .then(response => console.log(response)); 

使用CORS進行GET

  1. fetch('{url}', { 
  2.   mode: 'cors' 
  3. }).then(response => console.log(response)); 

使用授權令牌和查詢字符串數據進行POST

  1. fetch('{url}?var1=value1&var2=value2', { 
  2.   method: 'post'
  3.   headers: { 
  4.     'Authorization''Bearer {token}' 
  5.   } 
  6. }).then(response => console.log(response)); 

使用表單數據進行POST

  1. let formData = new FormData(); 
  2. formData.append('field1''value1'); 
  3. formData.append('field2''value2'); 
  4.  
  5. fetch('{url}', { 
  6.   method: 'post'
  7.   body: formData 
  8. }).then(response => console.log(response)); 

使用JSON數據進行POST

  1. fetch('{url}', { 
  2.   method: 'post'
  3.   headers: { 
  4.     'Content-Type''application/json' 
  5.   }, 
  6.   body: JSON.stringify({ 
  7.     'field1''value1'
  8.     'field2''value2' 
  9.   }) 
  10. }) 
  11. .then(response => console.log(response)); 

使用JSON數據和CORS進行POST

  1. fetch('{url}', { 
  2.   method: 'post'
  3.   mode: 'cors'
  4.   headers: { 
  5.     'Content-Type''application/json' 
  6.   }, 
  7.   body: JSON.stringify({ 
  8.     'field1''value1'
  9.     'field2''value2' 
  10.   }) 
  11. }) 
  12. .then(response => console.log(response)); 

如何處理Fetch API請求的結果

Fetch API返回一個Promise。這就是為什么我總是使用 .then() 和回調函數來處理響應的原因:

  1. fetch(...).then(response => { 
  2.    // process the response 

但是,如果您處于異步函數中,也可以等待結果:

  1. async function getData(){ 
  2.   let data = await fetch(...); 
  3.    // process the response 

現在讓我們看一下如何從響應中提取數據:

如何檢查Fetch API響應的狀態碼

發送POST,PATCH和PUT請求時,我們通常對返回狀態代碼感興趣:

  1. fetch(...).then(response => { 
  2.   if (response.status == 200){ 
  3.     // all OK 
  4.   } else { 
  5.     console.log(response.statusText); 
  6.   } 
  7. }); 

如何獲取Fetch API響應的簡單值

某些API端點可能會發回使用您的數據創建的新數據庫記錄的標識符:

  1. var userId; 
  2.  
  3. fetch(...) 
  4.     .then(response => response.text()) 
  5.     .then(id => { 
  6.         userId = id; 
  7.         console.log(userId) 
  8.     }); 

如何轉換Fetch API響應的JSON數據

但是在大多數情況下,您會在響應正文中接收JSON數據:

  1. var dataObj; 
  2.  
  3. fetch(...) 
  4.     .then(response => response.json()) 
  5.     .then(data => { 
  6.         dataObj = data; 
  7.         console.log(dataObj) 
  8.     }); 

請記住,只有在兩個Promises都解決后,你才能訪問數據。這有時會讓人有點困惑,所以我總是喜歡使用async方法并等待結果。

  1. async function getData(){ 
  2.     var dataObj; 
  3.  
  4.     const response = await fetch(...); 
  5.     const data = await response.json(); 
  6.     dataObj = data; 
  7.     console.log(dataObj); 

總結

這些示例應該涵蓋了大多數情況。

我是否錯過了什么,一個你每天都在使用的請求?或者是其他你正在苦惱的事情?請在評論區上告訴我。

最后,你也可以以可打印的形式獲得這份備忘單:https://ondrabus.com/fetch-api-cheatsheet

原文:https://www.freecodecamp.org/news/fetch-api-cheatsheet/

作者:Ondrej Polesny

本文轉載自微信公眾號「 前端全棧開發者」,可以通過以下二維碼關注。轉載本文請聯系 前端全棧開發者公眾號。

 

責任編輯:武曉燕 來源: 前端全棧開發者
相關推薦

2024-01-15 10:48:53

REST API系統架構

2021-01-09 16:16:40

開源軟件速查表編程語言

2021-04-20 09:56:58

Python 開發編程語言

2024-10-29 15:42:13

2023-08-31 22:45:15

Git命令效率

2022-12-19 08:05:04

Python速查表知識點

2021-08-09 13:00:45

Linux速查表

2020-12-18 10:04:52

API漏洞應用程序編程接口

2009-10-26 16:08:40

Oracle默認用戶名

2020-09-01 07:58:34

API漏洞黑客

2015-10-30 11:57:49

開發者設計師速查表

2020-10-08 18:14:15

碼農Git命令

2022-12-15 07:45:51

極客版編程速查表

2011-03-16 09:49:54

HTML 5

2025-04-25 11:20:00

網絡地址端口

2020-08-06 08:48:38

速查表系統管理員Linux

2017-10-30 13:34:22

深度學習KerasAPI

2022-03-08 15:13:34

Fetch APINode.js開發者

2021-09-01 15:48:50

API漏洞應用程序安全

2015-07-29 10:46:20

Java錯誤
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美成人自拍视频 | 3p视频在线观看 | 久久亚洲欧美日韩精品专区 | 欧美国产精品久久久 | 日韩一级黄色片 | 日本污视频 | 日韩一区二区免费视频 | 欧美激情欧美激情在线五月 | 亚洲女人天堂成人av在线 | 国产精品免费视频一区 | 亚洲欧洲视频 | www.av7788.com | 亚洲精品九九 | 欧美激情精品久久久久久变态 | 欧美精品一区二区三区在线 | 91久久国产 | 男女网站在线观看 | 黄色网址av | 亚洲精品一区二区二区 | 秋霞av国产精品一区 | 中文成人无字幕乱码精品 | 久久久久久久久国产成人免费 | 久久欧美高清二区三区 | 久久亚洲精品国产精品紫薇 | 日本午夜在线视频 | 亚洲一区 | 欧美一区不卡 | 久久精品 | 亚洲视频免费在线观看 | 日本成人中文字幕 | 在线播放中文字幕 | 视频一区二区三区在线观看 | 亚洲精品第一国产综合野 | 免费久久99精品国产婷婷六月 | 九九99精品 | 精品国产视频在线观看 | 国产免费观看一区 | 99视频在线免费观看 | 国产精品永久 | 欧美一区在线看 | 一区二区三区在线免费 |