Vue使用axios發(fā)送請(qǐng)求并實(shí)現(xiàn)簡(jiǎn)單封裝的示例詳解
一、安裝axios
npm install axios --save
二、簡(jiǎn)單使用
1.配置
main.js中加入如下內(nèi)容
// 引入axios --------------------------------------------------- import axios from 'axios' Vue.prototype.$axios = axios Vue.prototype.$axios.defaults.baseURL = 'http://127.0.0.1:8000/' // 請(qǐng)求根路徑 // -------------------------------------------------------------
2.發(fā)送請(qǐng)求
<1>get
this.$axios.get('index').then(res => { // 返回?cái)?shù)據(jù)在 res.data 中 })
<2>post
this.$axios.post('login', {user:"admin", pwd:"123"}).then(res => { // 返回?cái)?shù)據(jù)在 res.data 中 })
<3>并發(fā)
var res1 = this.$axios.get('index') var res2 = this.$axios.post('login', {user:"admin", pwd:"123"}) this.$axios.all([res1, res2]).then(this.$axios.spread(res1, res2) => { // 兩個(gè)請(qǐng)求的返回結(jié)果在 res1 和 res2 中 })
三、封裝使用
1.創(chuàng)建js封裝類(lèi)
src/request/index.js
// 引入 import Axios from 'axios' import { Message } from 'element-ui' // 需要裝個(gè) element-ui,錯(cuò)誤提示界面友好一些 // 前端存在 localStorage 中的 token const token = localStorage.getItem('token') // 實(shí)例化 const request = Axios.create({ baseURL: "http://127.0.0.1:8000/", // 服務(wù)根路徑 timeout: 200000, // 請(qǐng)求過(guò)期時(shí)間 headers: { Authorization: token // token 插入請(qǐng)求頭給后端校驗(yàn) } }) // 攔截后端返回的請(qǐng)求 request.interceptors.response.use(res => { if (res.status !== 200) { Message.error("something err...") // 返回錯(cuò)誤的提示信息 } return res.data // 只取 res 中的 data,后續(xù)取值不需要再寫(xiě)一層 data 了 }) // 導(dǎo)出 export default request
2.配置
main.js中改成如下內(nèi)容
// 引入axios --------------------------------------------------- import request from './request' Vue.prototype.$http = request // -------------------------------------------------------------
3.發(fā)送請(qǐng)求
<1>get
this.$http.get('index').then(res => { // 返回?cái)?shù)據(jù)在 res.data 中 })
<2>post
this.$http.post('login', {user:"admin", pwd:"123"}).then(res => { // 返回?cái)?shù)據(jù)在 res.data 中 })
<3>并發(fā)
var res1 = this.$http.get('index') var res2 = this.$http.post('login', {user:"admin", pwd:"123"}) this.$http.all([res1, res2]).then(this.$http.spread(res1, res2) => { // 兩個(gè)請(qǐng)求的返回結(jié)果在 res1 和 res2 中 })
到此這篇關(guān)于Vue使用axios發(fā)送請(qǐng)求并實(shí)現(xiàn)簡(jiǎn)單封裝的文章就介紹到這了,更多相關(guān)Vue axios發(fā)送請(qǐng)求封裝內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Vue使用axios發(fā)送請(qǐng)求簡(jiǎn)單實(shí)現(xiàn)代碼
- Vue axios庫(kù)避免重復(fù)發(fā)送請(qǐng)求的示例介紹
- Vue?axios庫(kù)發(fā)送請(qǐng)求的示例介紹
- vue項(xiàng)目使用axios發(fā)送請(qǐng)求讓ajax請(qǐng)求頭部攜帶cookie的方法
- vue中axios處理http發(fā)送請(qǐng)求的示例(Post和get)
- Vue.js實(shí)戰(zhàn)之使用Vuex + axios發(fā)送請(qǐng)求詳解
- vue-cli3.0 axios跨域請(qǐng)求代理配置方式及端口修改
- Vue3.0?axios跨域請(qǐng)求代理服務(wù)器配置方式
- Vue利用axios發(fā)送請(qǐng)求并代理請(qǐng)求的實(shí)現(xiàn)代碼
相關(guān)文章
vue中pc移動(dòng)滾動(dòng)穿透問(wèn)題及解決
這篇文章主要介紹了vue中pc移動(dòng)滾動(dòng)穿透問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07vue項(xiàng)目?jī)煞N方式實(shí)現(xiàn)豎向表格的思路分析
這篇文章主要介紹了vue項(xiàng)目?jī)煞N方式實(shí)現(xiàn)豎向表格的思路分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04詳解Vue實(shí)戰(zhàn)指南之依賴(lài)注入(provide/inject)
這篇文章主要介紹了詳解Vue實(shí)戰(zhàn)指南之依賴(lài)注入(provide/inject),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-11-11vue+webpack模擬后臺(tái)數(shù)據(jù)的示例代碼
這篇文章主要介紹了vue+webpack模擬后臺(tái)數(shù)據(jù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07