一文了解axios和vue的整合操作
前言
前面學(xué)習(xí)了vue的本地應(yīng)用操作,本文將會學(xué)習(xí)Vue的網(wǎng)絡(luò)應(yīng)用,介紹axios并且學(xué)習(xí)axios和Vue的結(jié)合使用
一、axios是什么?
1.定義
Axios是一個基于promise 的 HTTP 庫,可以用在瀏覽器和 node.js中
2.原理
axios本質(zhì)上也是對原生XHR的封裝,只不過它是Promise的實現(xiàn)版本,符合最新的ES規(guī)范。
3、主要特點
1、從 node.js 創(chuàng)建 http 請求
2、支持 Promise API
3、攔截請求和響應(yīng)
4、轉(zhuǎn)換請求和響應(yīng)數(shù)據(jù)
5、取消請求
6、自動轉(zhuǎn)換JSON數(shù)據(jù)
7、客戶端支持防御XSRF要特點
8、從瀏覽器創(chuàng)建 XMLHttpRequests
二、axios的應(yīng)用
1、axios必須先導(dǎo)入才可以使用
2、使用get或Post方法即可發(fā)送對應(yīng)的請求
3、then方法中的回調(diào)函數(shù)會在請求成功或失敗時觸發(fā)
4、通過回調(diào)函數(shù)的形參可以獲取響應(yīng)內(nèi)容,或錯誤信息
代碼解析
1、axios通過get或者post發(fā)送請求
2、axios.get()中間填寫獲取的請求地址,后面跟上請求的參數(shù)使用?連接
3、.then()代表的是成功獲取到后,如何處理的事件和獲取失敗,該如何處理的事件
兩個事件中間用逗號隔開
<input type="button" value="get請求" class="get">
<input type="button" value="post請求" class="post">
<!--官網(wǎng)提供的axios在線地址-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
/*
接口1:隨機笑話
請求地址:https://autumnfish.cn/api/joke/list
請求方法:get
請求參數(shù):num(笑話條數(shù),數(shù)字)
響應(yīng)內(nèi)容:隨機笑話
*/
document.querySelector(".get").onclick=function (){
axios.get("https://autumnfish.cn/api/joke/list?num=3")
.then(function (response){
console.log(response);
},function (err){
console.log(err);
})
}
/*
接口2:用戶注冊
請求地址:https://autumnfish.cn/api/user/reg
請求方法:post
請求參數(shù):username(用戶名,字符串)
響應(yīng)內(nèi)容:注冊成功或失敗
*/
document.querySelector(".post").onclick=function(){
axios.post("https://autumnfish.cn/api/user/reg",{username:"李奕赫"}).then(function (response){
console.log(response);
},function (err){
console.log(err);
})
}
</script>
效果展示:
按下按鈕后,會在控制臺里,將回應(yīng)值全部打印出來

三、axios+vue的應(yīng)用
1、axios回調(diào)函數(shù)中的this已經(jīng)改變,無法訪問到data中數(shù)據(jù)
2、把this保存起來,回調(diào)函數(shù)中直接使用保存的this即可‘
3、和本地應(yīng)用的最大區(qū)別就是改變了數(shù)據(jù)來源
代碼展示:
1、這次將axios和vue相結(jié)合,改變了數(shù)據(jù)來源
2、可以將axios在網(wǎng)絡(luò)上獲取的信息,通過vue展示出來
3、axios的操作跟上面沒區(qū)別,就是放在vue的一個事件中。
4、因為返回的回應(yīng)值很多,我們僅僅只想找到我們想要的。我們就可以直接寫。
例如:response.data 我們可以直接下面套著寫
<div id="app">
<input type="button" value="獲取笑話" @click="getJoke">
<p>{{joke}}</p>
</div>
<!-- 開發(fā)環(huán)境版本,包含了有幫助的命令行警告 -->
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<!--官網(wǎng)提供的axios在線地址-->
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
/*
接口1:隨機笑話
請求地址:https://autumnfish.cn/api/joke/list
請求方法:get
請求參數(shù):num(笑話條數(shù),數(shù)字)
響應(yīng)內(nèi)容:隨機笑話
*/
var app=new Vue({
el:"#app",
data:{
joke:"很好笑的笑話"
},
methods:{
getJoke:function (){
var that=this;
axios.get("https://autumnfish.cn/api/joke").then(function (response){
console.log(response.data)
that.joke=response.data; /*這里不能使用this.joke,因為對象已經(jīng)發(fā)生改變*/
},function (err){ })
}
},
})
</script>效果展示:
1、當(dāng)按下按鈕時,就觸發(fā)事件。
2、因為vue是基于數(shù)據(jù)開發(fā),數(shù)據(jù)發(fā)生改變,頁面上的顯示也會隨之改變
3、當(dāng)觸發(fā)事件后,我們將axios獲取的數(shù)據(jù)賦值給vue中的變量,所以當(dāng)變量改變,頁面上的笑話也會改變。

總結(jié)
本文介紹了axios和vue的簡單整合實驗,大家可以親自實踐操作一下??!
到此這篇關(guān)于axios和vue整合操作的文章就介紹到這了,更多相關(guān)axios vue整合操作內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue2.0+koa2+mongodb實現(xiàn)注冊登錄
這篇文章主要介紹了vue2.0+koa2+mongodb實現(xiàn)注冊登錄功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-04-04
Vue 設(shè)置axios請求格式為form-data的操作步驟
今天小編就為大家分享一篇Vue 設(shè)置axios請求格式為form-data的操作步驟,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
Vue項目的甘特圖組件之dhtmlx-gantt使用教程和實現(xiàn)效果展示(推薦)
文章介紹了如何使用dhtmlx-gantt組件來實現(xiàn)公司的甘特圖需求,并提供了一個簡單的Vue組件示例,文章還分享了一些配置項,如格式化表頭日期、設(shè)置甘特圖尺寸、啟用只讀模式、設(shè)置表格列等,感興趣的朋友一起看看吧2025-02-02
Vue通過provide inject實現(xiàn)組件通信
這篇文章主要介紹了Vue通過provide inject實現(xiàn)組件通信,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-09-09

