最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue 項(xiàng)目中常用的 2 個(gè) Ajax 庫(kù)及簡(jiǎn)單使用示例

 更新時(shí)間:2025年06月11日 09:21:35   作者:難釋懷  
Ajax是一種在不重新加載整個(gè)頁面的情況下,通過 JavaScript 與服務(wù)器進(jìn)行異步通信的技術(shù),這篇文章主要介紹了vue項(xiàng)目中常用的2 個(gè) Ajax庫(kù),需要的朋友可以參考下

一、前言

在 Vue 項(xiàng)目的開發(fā)過程中,前端通常需要與后端 API 進(jìn)行數(shù)據(jù)交互。為了實(shí)現(xiàn)異步請(qǐng)求(Ajax),我們常常會(huì)使用一些網(wǎng)絡(luò)請(qǐng)求庫(kù)來簡(jiǎn)化開發(fā)流程并提升代碼的可維護(hù)性。

目前在 Vue 項(xiàng)目中,最常用且推薦的兩個(gè) Ajax 請(qǐng)求方案是:

  • axios:功能強(qiáng)大、支持 Promise 接口、自動(dòng)轉(zhuǎn)換 JSON 數(shù)據(jù)、支持?jǐn)r截器等;
  • 原生 fetch API:瀏覽器內(nèi)置,無需引入額外依賴,簡(jiǎn)潔現(xiàn)代;

本文將帶你深入了解這兩個(gè)庫(kù)的基本用法、優(yōu)缺點(diǎn)對(duì)比以及在 Vue 中的實(shí)際應(yīng)用場(chǎng)景,幫助你根據(jù)項(xiàng)目需求選擇合適的網(wǎng)絡(luò)請(qǐng)求方式。

二、為什么需要 Ajax 請(qǐng)求?

Ajax(Asynchronous JavaScript and XML)是一種在不重新加載整個(gè)頁面的情況下,通過 JavaScript 與服務(wù)器進(jìn)行異步通信的技術(shù)。

在 Vue 中,常見的 Ajax 使用場(chǎng)景包括:

場(chǎng)景示例
獲取數(shù)據(jù)向后端接口請(qǐng)求用戶列表、商品信息等
提交表單用戶填寫完表單后提交到服務(wù)端
登錄認(rèn)證發(fā)送用戶名密碼獲取 Token
文件上傳上傳圖片、文檔等文件
錯(cuò)誤處理網(wǎng)絡(luò)異?;蚪涌阱e(cuò)誤提示

三、Axios 簡(jiǎn)介與使用示例

? Axios 是什么?

Axios 是一個(gè)基于 Promise 的 HTTP 客戶端,適用于瀏覽器和 Node.js 環(huán)境。它功能豐富,易于集成進(jìn) Vue 項(xiàng)目中,是目前最流行的 Ajax 請(qǐng)求庫(kù)之一。

?? 安裝 Axios

npm install axios

?? 基本使用(GET / POST)

GET 請(qǐng)求示例:

import axios from 'axios'
axios.get('https://api.example.com/users')
  .then(response => {
    console.log('用戶列表:', response.data)
  })
  .catch(error => {
    console.error('請(qǐng)求失敗:', error)
  })

POST 請(qǐng)求示例:

axios.post('https://api.example.com/login', {
  username: 'admin',
  password: '123456'
})
.then(res => {
  console.log('登錄成功:', res.data)
})
.catch(err => {
  console.error('登錄失敗:', err)
})

?? 支持的功能亮點(diǎn):

功能描述
自動(dòng)轉(zhuǎn)換 JSON請(qǐng)求/響應(yīng)自動(dòng)序列化和反序列化
攔截器可以統(tǒng)一處理請(qǐng)求頭、響應(yīng)體
取消請(qǐng)求支持取消未完成的請(qǐng)求
瀏覽器兼容性好兼容主流瀏覽器及 IE 11+
支持 TypeScript類型友好,便于開發(fā)大型項(xiàng)目

四、Fetch API 簡(jiǎn)介與使用示例

? Fetch 是什么?

fetch() 是現(xiàn)代瀏覽器內(nèi)置的用于發(fā)起網(wǎng)絡(luò)請(qǐng)求的 API,它返回一個(gè) Promise,語法簡(jiǎn)潔,是原生替代 jQuery.ajax() 的現(xiàn)代方案。

?? 注意:Fetch 不支持 IE,如需兼容舊瀏覽器,請(qǐng)使用 Polyfill 或改用 Axios。

?? 基本使用(GET / POST)

GET 請(qǐng)求示例:

fetch('https://api.example.com/users')
  .then(response => response.json())
  .then(data => {
    console.log('用戶列表:', data)
  })
  .catch(err => {
    console.error('請(qǐng)求失敗:', err)
  })

POST 請(qǐng)求示例:

fetch('https://api.example.com/login', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    username: 'admin',
    password: '123456'
  })
})
.then(response => response.json())
.then(data => {
  console.log('登錄成功:', data)
})
.catch(err => {
  console.error('登錄失敗:', err)
})

?? 優(yōu)點(diǎn):

特點(diǎn)描述
原生支持不需要安裝額外庫(kù)
簡(jiǎn)潔易用語法簡(jiǎn)單,符合現(xiàn)代 JS 風(fēng)格
可配合 Service Worker 使用更好的 PWA 支持

? 缺點(diǎn):

缺點(diǎn)說明
不支持?jǐn)r截器無法統(tǒng)一處理請(qǐng)求/響應(yīng)邏輯
默認(rèn)不帶 Cookie需要手動(dòng)配置 credentials: 'include'
不支持取消請(qǐng)求需要借助 AbortController 實(shí)現(xiàn)
錯(cuò)誤處理較麻煩需要手動(dòng)判斷 response.ok

五、Axios vs Fetch 對(duì)比總結(jié)

缺點(diǎn)說明
不支持?jǐn)r截器無法統(tǒng)一處理請(qǐng)求/響應(yīng)邏輯
默認(rèn)不帶 Cookie需要手動(dòng)配置 credentials: 'include'
不支持取消請(qǐng)求需要借助 AbortController 實(shí)現(xiàn)
錯(cuò)誤處理較麻煩需要手動(dòng)判斷 response.ok

?? 通俗理解:

  • Axios:像“瑞士軍刀”,功能多、靈活、適合復(fù)雜項(xiàng)目;
  • Fetch:像“便攜小刀”,輕量、原生、適合小型項(xiàng)目或快速原型。

六、在 Vue 中如何封裝請(qǐng)求庫(kù)(以 Axios 為例)

? 步驟 1:創(chuàng)建 utils/request.js

// utils/request.js
import axios from 'axios'
const service = axios.create({
  baseURL: '/api', // 所有請(qǐng)求默認(rèn)添加 /api 前綴
  timeout: 5000,  // 超時(shí)時(shí)間
})
// 請(qǐng)求攔截器
service.interceptors.request.use(config => {
  // 可在此添加 token、loading 等操作
  return config
}, error => {
  return Promise.reject(error)
})
// 響應(yīng)攔截器
service.interceptors.response.use(response => {
  // 統(tǒng)一處理響應(yīng)數(shù)據(jù)
  return response.data
}, error => {
  // 統(tǒng)一錯(cuò)誤提示
  console.error('請(qǐng)求出錯(cuò):', error)
  return Promise.reject(error)
})
export default service

? 步驟 2:組件中調(diào)用封裝好的方法

import request from '@/utils/request'
export default {
  methods: {
    async fetchUsers() {
      try {
        const users = await request.get('/users')
        console.log('用戶數(shù)據(jù):', users)
      } catch (err) {
        alert('獲取用戶失敗')
      }
    }
  }
}

七、結(jié)語

到此這篇關(guān)于vue 項(xiàng)目中常用的 2 個(gè) Ajax 庫(kù)的文章就介紹到這了,更多相關(guān)vue ajax庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • el-form組件清除校驗(yàn)提示正確方法(前端技能提升)

    el-form組件清除校驗(yàn)提示正確方法(前端技能提升)

    el-form組件提供了表單驗(yàn)證的功能,可以通過在el-form上綁定rules屬性,并在el-form-item上設(shè)置prop屬性來進(jìn)行校驗(yàn),這篇文章主要給大家介紹了關(guān)于el-form組件清除校驗(yàn)提示正確方法(前端技能提升)的相關(guān)資料,需要的朋友可以參考下
    2023-12-12
  • ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別

    ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別

    Element-UI作為前端框架,最常使用到的就是表單驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • Vue常用實(shí)例方法示例梳理分析

    Vue常用實(shí)例方法示例梳理分析

    在了解vue的常用的實(shí)例方法之前,我們應(yīng)該先要了解其常用的實(shí)例屬性,你能了解到的vue實(shí)例屬性有哪些呢?小編在這里就列舉了幾個(gè)常用的vue實(shí)例的屬性。大家可以一起參考學(xué)習(xí)一下
    2022-08-08
  • Vue?監(jiān)聽視頻播放時(shí)長(zhǎng)的實(shí)例代碼

    Vue?監(jiān)聽視頻播放時(shí)長(zhǎng)的實(shí)例代碼

    本文介紹了如何通過源碼實(shí)現(xiàn)對(duì)視頻實(shí)時(shí)時(shí)長(zhǎng)、播放時(shí)長(zhǎng)和暫停時(shí)長(zhǎng)的監(jiān)聽,詳細(xì)闡述了相關(guān)技術(shù)的應(yīng)用方法,幫助開發(fā)者更好地掌握視頻監(jiān)控技術(shù),提高用戶體驗(yàn)
    2024-10-10
  • Vue實(shí)現(xiàn)拖拽穿梭框功能四種方式實(shí)例詳解

    Vue實(shí)現(xiàn)拖拽穿梭框功能四種方式實(shí)例詳解

    這篇文章主要介紹了Vue實(shí)現(xiàn)拖拽穿梭框功能四種方式,使用原生js實(shí)現(xiàn)拖拽,VUe使用js實(shí)現(xiàn)拖拽穿梭框,結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-09-09
  • Vue3響應(yīng)式陷阱之對(duì)象引用丟失導(dǎo)致的數(shù)據(jù)更新失效的解決方法

    Vue3響應(yīng)式陷阱之對(duì)象引用丟失導(dǎo)致的數(shù)據(jù)更新失效的解決方法

    最近在開發(fā)一個(gè)表單配置功能時(shí),遇到了一個(gè)詭異的 Bug:明明在函數(shù)中成功賦值了,console.log 也打印出了正確的值,但頁面上就是不顯示,經(jīng)過一番排查,發(fā)現(xiàn)這是一個(gè)典型的 Vue 響應(yīng)式陷阱,今天分享出來,希望能幫到遇到類似問題的同學(xué),需要的朋友可以參考下
    2025-11-11
  • 淺談vue 多個(gè)變量同時(shí)賦相同值互相影響

    淺談vue 多個(gè)變量同時(shí)賦相同值互相影響

    這篇文章主要介紹了淺談vue 多個(gè)變量同時(shí)賦相同值互相影響,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 使用Vue手寫一個(gè)對(duì)話框

    使用Vue手寫一個(gè)對(duì)話框

    相信大家之前都寫過一些組件,尤其是這樣的彈窗組件,這篇文章主要來和大家聊聊如何使用Vue手寫一個(gè)對(duì)話框,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 詳解vue保存自動(dòng)格式化換行

    詳解vue保存自動(dòng)格式化換行

    這篇文章主要為大家介紹了vue保存自動(dòng)格式化換行,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-12-12
  • Vue2+ElementUI表單、Form組件的封裝過程

    Vue2+ElementUI表單、Form組件的封裝過程

    在 Vue2 項(xiàng)目中,ElementUI 的 el-form 組件是常用的表單組件,它提供了豐富的功能和樣式,可以滿足各種需求,本文給大家介紹Vue2+ElementUI表單、Form組件的封裝過程,感興趣的朋友跟隨小編一起看看吧
    2024-03-03

最新評(píng)論

门头沟区| 会理县| 渭南市| 锦屏县| 太仆寺旗| 台安县| 淄博市| 莲花县| 北票市| 闽侯县| 靖安县| 池州市| 舞阳县| 河曲县| 澄江县| 海阳市| 荃湾区| 泉州市| 嘉义县| 明光市| 六盘水市| 休宁县| 丁青县| 双城市| 老河口市| 苍山县| 兖州市| 龙南县| 巫山县| 呼图壁县| 隆昌县| 宝坻区| 嫩江县| 峨眉山市| 锡林浩特市| 望都县| 寿光市| 区。| 遵化市| 武邑县| 东至县|