一文了解axios和vue的整合操作
前言
前面學(xué)習(xí)了vue的本地應(yīng)用操作,本文將會(huì)學(xué)習(xí)Vue的網(wǎng)絡(luò)應(yīng)用,介紹axios并且學(xué)習(xí)axios和Vue的結(jié)合使用
一、axios是什么?
1.定義
Axios是一個(gè)基于promise 的 HTTP 庫(kù),可以用在瀏覽器和 node.js中
2.原理
axios本質(zhì)上也是對(duì)原生XHR的封裝,只不過(guò)它是Promise的實(shí)現(xiàn)版本,符合最新的ES規(guī)范。
3、主要特點(diǎn)
1、從 node.js 創(chuàng)建 http 請(qǐng)求
2、支持 Promise API
3、攔截請(qǐng)求和響應(yīng)
4、轉(zhuǎn)換請(qǐng)求和響應(yīng)數(shù)據(jù)
5、取消請(qǐng)求
6、自動(dòng)轉(zhuǎn)換JSON數(shù)據(jù)
7、客戶端支持防御XSRF要特點(diǎn)
8、從瀏覽器創(chuàng)建 XMLHttpRequests
二、axios的應(yīng)用
1、axios必須先導(dǎo)入才可以使用
2、使用get或Post方法即可發(fā)送對(duì)應(yīng)的請(qǐng)求
3、then方法中的回調(diào)函數(shù)會(huì)在請(qǐng)求成功或失敗時(shí)觸發(fā)
4、通過(guò)回調(diào)函數(shù)的形參可以獲取響應(yīng)內(nèi)容,或錯(cuò)誤信息
代碼解析
1、axios通過(guò)get或者post發(fā)送請(qǐng)求
2、axios.get()中間填寫(xiě)獲取的請(qǐng)求地址,后面跟上請(qǐng)求的參數(shù)使用?連接
3、.then()代表的是成功獲取到后,如何處理的事件和獲取失敗,該如何處理的事件
兩個(gè)事件中間用逗號(hào)隔開(kāi)
<input type="button" value="get請(qǐng)求" class="get"> <input type="button" value="post請(qǐng)求" class="post"> <!--官網(wǎng)提供的axios在線地址--> <script src="https://unpkg.com/axios/dist/axios.min.js"></script> <script> /* 接口1:隨機(jī)笑話 請(qǐng)求地址:https://autumnfish.cn/api/joke/list 請(qǐng)求方法:get 請(qǐng)求參數(shù):num(笑話條數(shù),數(shù)字) 響應(yīng)內(nèi)容:隨機(jī)笑話 */ 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:用戶注冊(cè) 請(qǐng)求地址:https://autumnfish.cn/api/user/reg 請(qǐng)求方法:post 請(qǐng)求參數(shù):username(用戶名,字符串) 響應(yīng)內(nèi)容:注冊(cè)成功或失敗 */ 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>
效果展示:
按下按鈕后,會(huì)在控制臺(tái)里,將回應(yīng)值全部打印出來(lái)
三、axios+vue的應(yīng)用
1、axios回調(diào)函數(shù)中的this已經(jīng)改變,無(wú)法訪問(wèn)到data中數(shù)據(jù)
2、把this保存起來(lái),回調(diào)函數(shù)中直接使用保存的this即可‘
3、和本地應(yīng)用的最大區(qū)別就是改變了數(shù)據(jù)來(lái)源
代碼展示:
1、這次將axios和vue相結(jié)合,改變了數(shù)據(jù)來(lái)源
2、可以將axios在網(wǎng)絡(luò)上獲取的信息,通過(guò)vue展示出來(lái)
3、axios的操作跟上面沒(méi)區(qū)別,就是放在vue的一個(gè)事件中。
4、因?yàn)榉祷氐幕貞?yīng)值很多,我們僅僅只想找到我們想要的。我們就可以直接寫(xiě)。
例如:response.data 我們可以直接下面套著寫(xiě)
<div id="app"> <input type="button" value="獲取笑話" @click="getJoke"> <p>{{joke}}</p> </div> <!-- 開(kāi)發(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:隨機(jī)笑話 請(qǐng)求地址:https://autumnfish.cn/api/joke/list 請(qǐng)求方法:get 請(qǐng)求參數(shù):num(笑話條數(shù),數(shù)字) 響應(yīng)內(nèi)容:隨機(jī)笑話 */ 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,因?yàn)閷?duì)象已經(jīng)發(fā)生改變*/ },function (err){ }) } }, }) </script>
效果展示:
1、當(dāng)按下按鈕時(shí),就觸發(fā)事件。
2、因?yàn)関ue是基于數(shù)據(jù)開(kāi)發(fā),數(shù)據(jù)發(fā)生改變,頁(yè)面上的顯示也會(huì)隨之改變
3、當(dāng)觸發(fā)事件后,我們將axios獲取的數(shù)據(jù)賦值給vue中的變量,所以當(dāng)變量改變,頁(yè)面上的笑話也會(huì)改變。
總結(jié)
本文介紹了axios和vue的簡(jiǎn)單整合實(shí)驗(yàn),大家可以親自實(shí)踐操作一下??!
到此這篇關(guān)于axios和vue整合操作的文章就介紹到這了,更多相關(guān)axios vue整合操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3接口數(shù)據(jù)賦值對(duì)象,渲染報(bào)錯(cuò)問(wèn)題及解決
這篇文章主要介紹了vue3接口數(shù)據(jù)賦值對(duì)象,渲染報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09ArcGis?API?for?js在vue.js中的使用示例詳解
這篇文章主要為大家介紹了ArcGis?API?for?js在vue.js中的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08關(guān)于vue-resource報(bào)錯(cuò)450的解決方案
本篇文章主要介紹關(guān)于vue-resource報(bào)錯(cuò)450的解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07Vue 后臺(tái)管理類(lèi)項(xiàng)目兼容IE9+的方法示例
這篇文章主要介紹了Vue 后臺(tái)管理類(lèi)項(xiàng)目兼容IE9+的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02Vue異步更新DOM及$nextTick執(zhí)行機(jī)制解讀
這篇文章主要介紹了Vue異步更新DOM及$nextTick執(zhí)行機(jī)制解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03