日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

fetch vue读取json文件_前端笔记——尝试理解并在JavaScript中使用Fetch()

發(fā)布時(shí)間:2024/9/30 javascript 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fetch vue读取json文件_前端笔记——尝试理解并在JavaScript中使用Fetch() 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

介紹

Fetch()方法可以發(fā)出類似于XMLHttpRequest(XHR)的網(wǎng)絡(luò)請求。Fetch API和XMLHttpRequest之間的主要區(qū)別(也稱為XHR)是Fetch API使用Promises,可以編寫更簡潔的API調(diào)用,從而嚴(yán)格避免回調(diào)地獄并降低XMLHttpRequest的復(fù)雜性



使用之前

  • 使用XMLHttpRequest

在使用fetch之前,我們先可以了解下XMLHttpRequest,XMLHttpRequest需要設(shè)置兩個(gè)偵聽器來處理成功響應(yīng)和錯(cuò)誤響應(yīng)情況,并調(diào)用open()和send()

function getAllPosts() { let data = JSON.parse(this.responseText); console.log(data);}let reqError = err => { console.log("Error", err);};let req = new XMLHttpRequest();req.onload = getAllPosts;req.onerror = reqError;req.open("GET", "https://xxxxx", true); req.send();
  • 使用Fetch

現(xiàn)在看一下“Fetch之美”。讓我們使用Fetch重寫上面的代碼。我們可以使用多種方式使用fetch方法,可以使用then方法或使用async / await方法。讓我們看看如何做到這一點(diǎn):

1、使用Async/Await:

使用try/catch,async / await使處理同步和異步錯(cuò)誤相對容易:

async function getAllPosts() { try { let response = await fetch("" ); const data = await response.json(); console.log(data); } catch (err) { console.log(err); } }

2、使用then

調(diào)用then方法的缺點(diǎn)就是容易在大量回調(diào)請求的時(shí)候造成回調(diào)地獄,很難維護(hù)代碼

function getAllPosts() { fetch("https://xxxxx") .then(response => response.json()) .then(data => { console.log(data)}) .catch(err => {console.log(err); }); }

基本響應(yīng)類型

當(dāng)我們發(fā)出fetch請求時(shí),響應(yīng)會被指定為CORS類型,opaque或basic。這些響應(yīng)類型指示資源的來源,這也讓你知道如何處理響應(yīng):

  • 解釋:
  • 當(dāng)來自同一來源的請求時(shí),響應(yīng)將具有基本類型,并且可以從響應(yīng)中看到的內(nèi)容沒有任何限制;
  • 如果從其他來源發(fā)出請求,則響應(yīng)將具有CORS類型。除了CORS響應(yīng)將可以查看的標(biāo)頭限制為Cache-Control,Content-Language,Content-Type,Expires和Last-Modified外,CORS和基本響應(yīng)類型幾乎相同;
  • opaque響應(yīng)是針對來自其他來源的資源(不返回CORS標(biāo)頭)的請求。這種類型的響應(yīng)讀取不了返回的數(shù)據(jù)或查看請求的狀態(tài),這意味著無法檢查請求是否成功。

用fetch發(fā)出POST請求

除了可以從api獲取數(shù)據(jù)之外,我們還可以使用Fetch方法執(zhí)行其他操作。假設(shè)我們要向博客API添加一個(gè)新博客,我們也可以使用Fetch方法來完成該操作:

下面可以是一個(gè)表單提交方式:

現(xiàn)在,我們有了一個(gè)用于添加新博客文章的表單,讓我們編寫一個(gè)腳本,該腳本會將數(shù)據(jù)發(fā)送到添加API的請求:

document.getElementById("postData").addEventListener("submit", addNewPost); async function addNewPost(event) { try { event.preventDefault();//阻止默認(rèn)行為 let tittle = document.getElementById("title").value; let body = document.getElementById("body").value; let response = await fetch("****",{ method: "POST", headers: {"Content-Type": "application/json"}, body: JSON.stringify({ tittle: tittle, body: body }) } ); const data = await response.json(); console.log(data); } catch (err) { console.log(err); } }

使用Fetch上傳文件

我們還可以使用Fetch處理文件上傳,例如圖像和文檔:

document.getElementById("postData").addEventListener("submit", uploadfile); async function uploadfile(event) { try { event.preventDefault(); const fileField = document.querySelector('input[type="file"]'); const formData = new FormData(); formData.append("avatar", fileField.files[0]); let response = await fetch("...",{ method: "POST", headers: { "Content-Type": "application/json" }, body: formData }); const data = await response.json(); console.log(data); } catch (err) { console.log(err); } }

總結(jié)

盡管fetch是用于發(fā)出網(wǎng)絡(luò)請求的更好方法,新的fetch API似乎比XHR更快,更易于使用。畢竟,它是為了使我們能夠以正確的方式處理AJAX請求而創(chuàng)建的。

總結(jié)

以上是生活随笔為你收集整理的fetch vue读取json文件_前端笔记——尝试理解并在JavaScript中使用Fetch()的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜羞羞影院 | 黄色视屏在线免费观看 | 亚洲女人天堂成人av在线 | 一区二区三区福利视频 | 欧美性生活在线视频 | 亚洲逼院| 三级a级片 | 深夜福利一区 | 国产黑丝精品 | 国产一区午夜 | 亚洲欧美激情另类 | 红桃视频在线播放 | 亚洲欧美乱日韩乱国产 | 小泽玛利亚在线 | 国产欧美高清 | 国产91成人| 西西毛片 | 日韩不卡在线观看 | 亚洲综合免费观看高清完整版在线 | 夜夜导航 | 精品午夜久久久 | 理论片在线观看视频 | 欧美性xxxxxxxxx | 天海翼av在线播放 | 国产女人18毛片水18精品 | 黄色大片视频 | 青青草99 | 久久成人乱码欧美精品一区二区 | 最新在线视频 | 91免费国产在线观看 | 丰满人妻一区二区三区精品高清 | 成人一级网站 | av成人精品 | 熊出没之冬日乐翻天免费高清观看 | 成人免费毛片男人用品 | 三级视频网站 | 国内精品国产成人国产三级 | 精品一区二区在线观看 | av加勒比在线 | 99在线观看视频 | 老女人性生活视频 | 欧美成人免费一级人片100 | 黑帮大佬和我的三百六十五天 | 日韩高清成人 | 精品人妻无码一区二区三区换脸 | 日本久久爱 | 日韩激情视频一区二区 | 一级黄色免费看 | 欧美三级三级三级爽爽爽 | 69国产精品视频 | 亚洲成a人v | 国产成人精品亚洲男人的天堂 | 91丨porny丨国产入口 | 高h视频在线观看 | 亚洲精品2| 国产日韩成人内射视频 | 亚洲国产一二 | 国产婷婷久久 | 成年人在线视频观看 | 欧美456| 亚洲成人网在线 | 精品欧美乱码久久久久久 | 日韩区欧美区 | 亚洲一区人妻 | 国产欧美在线看 | 国产精品一二三区视频 | 久久婷婷五月国产色综合激情 | 久久毛片 | 男男肉耽高h彩漫 | 超碰在线| 青青草免费看 | 日本国产一区二区三区 | 欧美黄页在线观看 | 免费视频一区 | 欧美草b| 国产伦理吴梦梦伦理 | 91精品国产91久久久久青草 | 蜜臀av性久久久久蜜臀aⅴ麻豆 | 亚洲三级视频在线观看 | 玖玖在线免费视频 | 国产又粗又硬 | 国产精品一区二区人妻喷水 | 美国三级视频 | 蜜臀av性久久久久蜜臀av麻豆 | 99热com| 看黄网站在线 | 青青草一区二区三区 | 波多野结衣一二三区 | 嫩草网站 | 青青草婷婷| 91色综合 | 男女日批视频 | 欧美日韩成人一区二区 | www在线观看免费视频 | 亚洲国产精品狼友在线观看 | 日韩一三区 | 舐め犯し波多野结衣在线观看 | 啪啪免费网| 三级av |