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

fetch、axios 和 XMLHttpRequest的區(qū)別

這篇具有很好參考價(jià)值的文章主要介紹了fetch、axios 和 XMLHttpRequest的區(qū)別。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

fetch、axios和 XMLHttpRequest的區(qū)別

XMLHttpRequest (XHR)

官方文檔:https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest

XMLHttpRequest (XHR) 是一種在客戶端和服務(wù)器之間進(jìn)行異步數(shù)據(jù)交換的技術(shù),它允許瀏覽器向服務(wù)器發(fā)送HTTP請(qǐng)求,獲取數(shù)據(jù)并更新部分網(wǎng)頁內(nèi)容,而無需刷新整個(gè)頁面。XHR 是現(xiàn)代Web開發(fā)中常用的一種技術(shù),用于實(shí)現(xiàn)AJAX(Asynchronous JavaScript and XML)請(qǐng)求和數(shù)據(jù)交互。

XHR的優(yōu)勢在于它可以在不刷新整個(gè)頁面的情況下獲取服務(wù)器數(shù)據(jù)并更新頁面,從而實(shí)現(xiàn)更加流暢的用戶體驗(yàn)。它在Web開發(fā)中廣泛用于實(shí)現(xiàn)動(dòng)態(tài)內(nèi)容加載、表單提交、數(shù)據(jù)交互等功能。但也需要注意,由于XHR可以跨域請(qǐng)求數(shù)據(jù),可能會(huì)涉及到安全性問題,因此在使用XHR時(shí)需要謹(jǐn)慎處理跨域請(qǐng)求和防止XSS攻擊。

現(xiàn)代Web開發(fā)中更常使用fetch或axios等工具庫來進(jìn)行網(wǎng)絡(luò)請(qǐng)求,因此XMLHttpRequest已逐漸被廢棄。

XMLHttpRequest 和 fetch區(qū)別

  1. XMLHttpRequest 是較早的瀏覽器提供的 API,使用起來相對(duì)復(fù)雜。它需要手動(dòng)創(chuàng)建、配置和發(fā)送請(qǐng)求,并監(jiān)聽事件來處理響應(yīng)。
    fetch 是較新的瀏覽器提供的 API,使用起來更加簡潔和易用。它返回一個(gè) Promise 對(duì)象,可以使用鏈?zhǔn)秸{(diào)用來處理請(qǐng)求和響應(yīng)。

  2. XMLHttpRequest 可以通過設(shè)置 onreadystatechange 事件監(jiān)聽器或使用 addEventListener 方法來處理異步請(qǐng)求的狀態(tài)變化。
    fetch 返回的 Promise 對(duì)象可以使用 then 和 catch 方法來處理請(qǐng)求的成功和失敗。

  3. XMLHttpRequest 兼容性非常好,可以在大多數(shù)現(xiàn)代瀏覽器中使用。
    fetch 是較新的標(biāo)準(zhǔn),相對(duì)于 XMLHttpRequest,它在一些舊版本的瀏覽器中可能不被支持。為了兼容舊版本瀏覽器,可能需要使用 fetch 的 polyfill 或使用其他庫(如 Axios)進(jìn)行網(wǎng)絡(luò)請(qǐng)求。

axios 和 fetch區(qū)別

xios 和 fetch 都是用于發(fā)起網(wǎng)絡(luò)請(qǐng)求的工具,它們有一些區(qū)別和特點(diǎn)。

以下是 axios 和 fetch 的一些區(qū)別:

  1. API 設(shè)計(jì)和使用方式:

axios 是一個(gè)基于 Promise 的 HTTP 客戶端,提供了豐富而靈活的 API,使用起來更加簡單和直觀。
fetch 是瀏覽器原生提供的 API,返回的是一個(gè) Promise 對(duì)象,使用起來相對(duì)較簡潔,但需要手動(dòng)處理和轉(zhuǎn)換響應(yīng)數(shù)據(jù)。

  1. 瀏覽器兼容性:

fetch 是標(biāo)準(zhǔn)中的新API,相對(duì)較新,可能在一些舊版本的瀏覽器中不被完全支持。為了兼容舊版本瀏覽器,可能需要使用 fetch 的 polyfill 或其他庫(如 axios)進(jìn)行兼容處理。

  1. 請(qǐng)求和響應(yīng)攔截:

axios 提供了請(qǐng)求和響應(yīng)攔截器的功能,可以進(jìn)行全局和局部的攔截、轉(zhuǎn)換和處理。
fetch API 并沒有內(nèi)置的攔截器功能,需要手動(dòng)編寫和管理攔截邏輯。

  1. 錯(cuò)誤處理:

axios 在網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤時(shí),會(huì)自動(dòng)拋出一個(gè)錯(cuò)誤,方便進(jìn)行錯(cuò)誤處理和捕獲。
fetch API 在網(wǎng)絡(luò)請(qǐng)求錯(cuò)誤時(shí),并不會(huì)自動(dòng)拋出錯(cuò)誤,需要手動(dòng)檢查響應(yīng)狀態(tài)碼來判斷是否請(qǐng)求成功,并進(jìn)行相應(yīng)的錯(cuò)誤處理。

  1. 功能擴(kuò)展:

axios 提供了豐富的功能擴(kuò)展,如請(qǐng)求取消、并發(fā)請(qǐng)求、請(qǐng)求重試等。
fetch API 功能相對(duì)較簡單,需要通過額外的庫或手動(dòng)編寫代碼來擴(kuò)展其功能。

總計(jì):axios 提供了更多的功能和便利性,適用于復(fù)雜的請(qǐng)求場景和需要更多控制的情況。而 fetch 是瀏覽器原生的 API,適用于簡單的請(qǐng)求和對(duì)瀏覽器兼容性要求較高的場景。文章來源地址http://www.zghlxwxcb.cn/news/detail-792818.html

到了這里,關(guān)于fetch、axios 和 XMLHttpRequest的區(qū)別的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • javascript常見100問|前端基礎(chǔ)知識(shí)|問ajax-fetch-axios-區(qū)別請(qǐng)用 XMLHttpRequestfetch 實(shí)現(xiàn) ajax節(jié)流和防抖px em rem vw/箭頭函數(shù)的缺點(diǎn)

    HTML CSS JS HTTP 等基礎(chǔ)知識(shí)是前端面試的第一步,基礎(chǔ)知識(shí)不過關(guān)將直接被拒。本章將通過多個(gè)面試題,講解前端??嫉幕A(chǔ)知識(shí)面試題,同時(shí)復(fù)習(xí)一些重要的知識(shí)點(diǎn)。 扎實(shí)的前端基礎(chǔ)知識(shí),是作為前端工程師的根本?;A(chǔ)知識(shí)能保證最基本的使用,即招聘進(jìn)來能干活,能產(chǎn)出

    2024年04月27日
    瀏覽(34)
  • Ajax、Fetch、Axios三者的區(qū)別

    概念:Asynchronous JavaScript and XML(異步的 JavaScript 和 XML)。是一種網(wǎng)絡(luò)請(qǐng)求的概念框架。 主要特點(diǎn):實(shí)現(xiàn)頁面局部刷新,主要使用js的XMLHttpRequest請(qǐng)求實(shí)現(xiàn)網(wǎng)絡(luò)請(qǐng)求。 主要缺點(diǎn):使用函數(shù)回調(diào)的方式實(shí)現(xiàn)異步請(qǐng)求,若請(qǐng)求里寫請(qǐng)求將會(huì)導(dǎo)致回調(diào)地獄的發(fā)生。 示例代碼: 概念:

    2024年04月15日
    瀏覽(25)
  • 前端如何中斷請(qǐng)求 ( axios、原生 ajax、fetch)

    使用場景 在前端開發(fā)中,我們經(jīng)常需要中斷請(qǐng)求來優(yōu)化性能或處理特定的業(yè)務(wù)需求。以下是一些常見的使用場景: 比如 重復(fù)請(qǐng)求:當(dāng)頁面中多個(gè)組件并發(fā)調(diào)用同一個(gè)接口時(shí),在第一個(gè)請(qǐng)求返回后,我們可能需要中斷其他組件對(duì)該接口的調(diào)用,以避免重復(fù)請(qǐng)求和冗余數(shù)據(jù)。這

    2024年02月04日
    瀏覽(43)
  • 前端網(wǎng)絡(luò)請(qǐng)求之JavaScript XHR、Fetch、Axios

    AJAX:一種在無需重新加載整個(gè)網(wǎng)頁的情況下,能夠更新部分網(wǎng)頁的技術(shù)。在后臺(tái)與服務(wù)器進(jìn)行少量數(shù)據(jù)交換,Ajax 可以使網(wǎng)頁實(shí)現(xiàn)異步更新。在不重新加載整個(gè)網(wǎng)頁的情況下,對(duì)網(wǎng)頁的某部分進(jìn)行更新 Fetch:基于 promise 設(shè)計(jì)的。Fetch 的代碼結(jié)構(gòu)比起 ajax 簡單多。fetch 不是 aj

    2024年01月23日
    瀏覽(33)
  • 前端框架前置學(xué)習(xí)(3) AJAX原理 XMLHttpRequest,Promise,簡易axios函數(shù)封裝

    前端框架前置學(xué)習(xí)(3) AJAX原理 XMLHttpRequest,Promise,簡易axios函數(shù)封裝

    1.獲取圖片文件對(duì)象 ?// 文件選擇元素-change改變事件 document.querySelector(\\\'.upload\\\').addEventListener(\\\'change\\\', e = { ? ? ? // 1. 獲取圖片文件 ? ? ? console.log(e.target.files[0]) 2.使用FormData攜帶文件 ?// 2. 使用 FormData 攜帶圖片文件 ? ? ? const fd = new FormData() ? ? ? fd.append(\\\'img\\\', e.target.files[0

    2024年02月03日
    瀏覽(99)
  • 前端請(qǐng)求數(shù)據(jù)方法 —— Ajax、Fetch、Axios、Get、Post

    Ajax :( “Asynchronous JavaScript and XML”(異步JavaScript和XML)的縮寫)是一組Web開發(fā)技術(shù),Ajax不是一種技術(shù),而是一個(gè)編程概念。AJAX 這個(gè)詞就成為 JavaScript 腳本發(fā)起 HTTP 通信的代名詞,也就是說,只要用腳本發(fā)起通信,就可以叫做 AJAX 通信。 技術(shù)實(shí)現(xiàn) 用于演示的HTML(或 XHTML)和

    2024年01月22日
    瀏覽(29)
  • 圖文并茂教你模擬302接口,實(shí)現(xiàn)js中axios,fetch遇到302狀態(tài)碼后跳轉(zhuǎn)的多種方案axios,fetch成功響應(yīng)攔截302

    圖文并茂教你模擬302接口,實(shí)現(xiàn)js中axios,fetch遇到302狀態(tài)碼后跳轉(zhuǎn)的多種方案axios,fetch成功響應(yīng)攔截302

    日常工作中,我們會(huì)使用fetch,或者axios發(fā)起請(qǐng)求來獲取數(shù)據(jù),但是當(dāng)我們遇到一些特殊需求的時(shí)候,使用不同庫之后,會(huì)得到不同的結(jié)果,例如302,308的狀態(tài)碼,那么我們應(yīng)該怎么處理這兩種情況呢? 如何使用多種方案實(shí)現(xiàn)前端代碼+302后端接口實(shí)現(xiàn)頁面跳轉(zhuǎn)? fetch 發(fā)送GET 或者

    2024年02月20日
    瀏覽(18)
  • ts和js的區(qū)別

    今天來簡單說一下js和ts的區(qū)別。 首先,它們都是腳本語言。JavaScript 是輕量級(jí)的解釋性腳本語言,可嵌入到 HTML 頁面中,在瀏覽器端執(zhí)行。而TypeScript 是JavaScript 的超集(ts是微軟開發(fā)的開源編程語言),即包含JavaScript 的所有元素,能運(yùn)行JavaScript 的代碼,并擴(kuò)展了JavaScript

    2023年04月20日
    瀏覽(18)
  • JS-27 前端數(shù)據(jù)請(qǐng)求方式;HTTP協(xié)議的解析;JavaScript XHR、Fetch的數(shù)據(jù)請(qǐng)求與響應(yīng)函數(shù);前端文件上傳XHR、Fetch;安裝瀏覽器插件FeHelper

    JS-27 前端數(shù)據(jù)請(qǐng)求方式;HTTP協(xié)議的解析;JavaScript XHR、Fetch的數(shù)據(jù)請(qǐng)求與響應(yīng)函數(shù);前端文件上傳XHR、Fetch;安裝瀏覽器插件FeHelper

    早期的網(wǎng)頁都是通過后端渲染來完成的,即服務(wù)器端渲染(SSR,server side render): 客戶端發(fā)出請(qǐng)求 - 服務(wù)端接收請(qǐng)求并返回相應(yīng)HTML文檔 - 頁面刷新,客戶端加載新的HTML文檔; 服務(wù)器端渲染的缺點(diǎn): 當(dāng)用戶點(diǎn)擊頁面中的某個(gè)按鈕向服務(wù)器發(fā)送請(qǐng)求時(shí),頁面本質(zhì)上只是一些數(shù)

    2024年02月16日
    瀏覽(42)
  • 前端面試:【瀏覽器與渲染引擎】Web APIs - DOM、XHR、Fetch、Canvas

    嗨,親愛的讀者!當(dāng)我們?cè)跒g覽器中瀏覽網(wǎng)頁時(shí),我們常常會(huì)與各種Web API打交道。這些API允許我們與網(wǎng)頁內(nèi)容、服務(wù)器資源和圖形進(jìn)行交互。本文將深入探討一些常見的Web API,包括DOM、XHR、Fetch和Canvas,以幫助你了解它們的用途和如何使用它們。 1. DOM(文檔對(duì)象模型): 用

    2024年02月11日
    瀏覽(21)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包