這篇文章帶給大家的內容是關於vue中axios封裝的基本介紹(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Axios 是一個基於 promise 的 HTTP 函式庫,可以用在瀏覽器和 node.js 中。在vue專案之中使用axios是一個非常明智的選擇,因為vue官方已經宣稱不再維護vue-resource,並且推薦使用axios.
1 為什麼選擇axios?
使用axios可以統一做請求-回應攔截,例如回應時我們將回應訊息攔截起來,判斷狀態碼,從而彈出報錯訊息
設定請求逾時,例如3000ms未回應則停止請求
基於promise,可以很方便地使用then或catch來處理請求
#自動轉換json資料
2 如何使用?
可以使用以下方式
1. npm install axios --save 2. bower install axios --save 3. <script></script>
3 封裝http請求
官網給定的實例:
axios.get('/user?ID=12345') .then(function(response){ console.log(response); }) .catch(function(err){ console.log(err); });
在此基礎上我們應該再次封裝http中的post get put delete方法,在特定頁面只需要呼叫介面函數以及傳入params即可,其餘例如url,header之類的我們應該進行封裝。
例如在index.vue之中使用一個函數來實現透過id來獲取對應的用戶信息,返回結果在then方法的result之中
API.getUserInfo({id:'01'}).then((result)=>{})
4 實現思路
新建一個文件,建立一個axios物件實例例如axios.js
import axios from 'axios'; import router from '../router'; // 创建axios实例 const service = axios.create({ timeout: 30000 // 请求超时时间 }) // 添加request拦截器 service.interceptors.request.use(config => { return config }, error => { Promise.reject(error) }) // 添加respone拦截器 service.interceptors.response.use( response => { let res={}; res.status=response.status res.data=response.data; return res; }, error => { if(error.response && error.response.status == 404){ router.push('/blank.vue') } return Promise.reject(error.response) } ) export function get(url, params = {}) { params.t = new Date().getTime(); //get方法加一个时间参数,解决ie下可能缓存问题. return service({ url: url, method: 'get', headers: { }, params }) } //封装post请求 export function post(url, data = {}) { //默认配置 let sendObject={ url: url, method: 'post', headers: { 'Content-Type':'application/json;charset=UTF-8' }, data:data }; sendObject.data=JSON.stringify(data); return service(sendObject) } //封装put方法 (resfulAPI常用) export function put(url,data = {}){ return service({ url: url, method: 'put', headers: { 'Content-Type':'application/json;charset=UTF-8' }, data:JSON.stringify(data) }) } //删除方法(resfulAPI常用) export function deletes(url){ return service({ url: url, method: 'delete', headers: {} }) } //不要忘记export export { service }
上述程式碼主要實作一個基本的axios封裝,請求成功時取得回應對象,我們主需要取得幾個有用的資訊即可,例如狀態碼,數據即可,同時處理錯誤,例如返回404我們跳到一個新界面
封裝接口函數
新文件,例如api.js
import {get, post,deletes,put} from './axios.js' ;//导入axios实例文件中方法 let bsae_api = process.env.BASE_API ? './'+process.env.BASE_API :'..' //获取项目api请求地址 //根据id获取用户信息 export const getUserInfoById=(id)=>{ return get(`${bsae_api}/web/user/${id}`); //resfulapi风格 }
具體頁面使用index.vue
import API from '@/utils/api' getUserInfo(){ API.getUserInfoById('01).then((result)=>{ }).catch((error)=>{ }) }
以上就是一些axios封裝的基本介紹
#相關推薦:
############################## ##axios封裝fetch呼叫詳解################以上是vue中axios封裝的基本介紹(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

JavaScript核心數據類型在瀏覽器和Node.js中一致,但處理方式和額外類型有所不同。 1)全局對像在瀏覽器中為window,在Node.js中為global。 2)Node.js獨有Buffer對象,用於處理二進制數據。 3)性能和時間處理在兩者間也有差異,需根據環境調整代碼。

JavaScriptusestwotypesofcomments:single-line(//)andmulti-line(//).1)Use//forquicknotesorsingle-lineexplanations.2)Use//forlongerexplanationsorcommentingoutblocksofcode.Commentsshouldexplainthe'why',notthe'what',andbeplacedabovetherelevantcodeforclari

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Dreamweaver Mac版
視覺化網頁開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器

WebStorm Mac版
好用的JavaScript開發工具

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。