詳解在Vue中如何使用axios跨域訪問數(shù)據(jù)
最近在項(xiàng)目中需要用到axios,所以就惡補(bǔ)一下這個(gè)axios到底是什么東東。越來它是vue-resource的替代品,官網(wǎng)也說了,以后都用axios,
vue-resource不在維護(hù)。那么這個(gè)axios怎么用呢,上網(wǎng)搜索了一大堆,基本上都是雷同,我也不知道那些作者有沒有在本地測(cè)試過。至少我按照網(wǎng)上的做法,總不能成功。經(jīng)過幾天的奮斗,我終于把它搞清楚了,為了不讓其他的小伙伴們走彎路,我把我在實(shí)際操作中的例子分享給大家,希望對(duì)大家有用。
一、安裝axios
老規(guī)矩,要想使用axios,我們得安裝它,安裝方式:npm install axios
二、客戶端使用方式
先來看看網(wǎng)上的答案,如圖所示,我已經(jīng)在圖上標(biāo)識(shí)過了,這種做法是錯(cuò)誤的。
正確的做法是去掉post,如圖所示:
三、服務(wù)器端設(shè)置
雖然客戶端跨域設(shè)置好了,但是你還是不能訪問接口數(shù)據(jù),必須在服務(wù)器端設(shè)置header屬性,如圖所示:
四、axios方法封裝
一般情況下,我們會(huì)用到的方法有:GET,POST,PUT,PATCH,封裝方法如下:
五、封裝后的方法的使用
1、在main.js文件里引用之前寫好的文件,我的命名為http.js
2、在需要的地方之間調(diào)用,如圖所示:
說明:
GET調(diào)用方法如下,其中url是接口地址
this.$get(url).then((res) { //代碼 });
POST調(diào)用方法如下,其中url是接口地址,data是請(qǐng)求的數(shù)據(jù)。
this.$post(url,data).then({ //代碼 });
PATCH調(diào)用方法如下,其中url是接口地址,data是請(qǐng)求的數(shù)據(jù)
this.$patch(url,data).then({ //代碼 });
PUT調(diào)用方法如下,其中url是接口地址,data是請(qǐng)求的數(shù)據(jù)
this.$put(url,data).then({ //代碼 });
看了以上內(nèi)容,是不是很簡單,其實(shí)也沒啥的,但是就是這個(gè)問題卡了我好久,在看看網(wǎng)上的答案,真的是不堪一擊。問題解決了,內(nèi)心真的好激動(dòng)啊 O(∩_∩)O哈!
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue3中引入SCSS和LESS依賴的基本步驟和注意事項(xiàng)
我們項(xiàng)目開發(fā)中經(jīng)常遇到樣式里面會(huì)使用less和scss寫法, less,scss和stylus都是css的預(yù)處理器,這篇文章主要給大家介紹了關(guān)于Vue3中引入SCSS和LESS依賴的基本步驟和注意事項(xiàng),需要的朋友可以參考下2024-05-05ElementUI多個(gè)子組件表單的校驗(yàn)管理實(shí)現(xiàn)
這篇文章主要介紹了ElementUI多個(gè)子組件表單實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11vue設(shè)置動(dòng)態(tài)請(qǐng)求地址的例子
今天小編就為大家分享一篇vue設(shè)置動(dòng)態(tài)請(qǐng)求地址的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11vue遞歸組件實(shí)戰(zhàn)之簡單樹形控件實(shí)例代碼
這篇文章主要介紹了vue遞歸組件實(shí)戰(zhàn)之簡單樹形控件的實(shí)例代碼,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-08-08Vue3?企業(yè)級(jí)組件庫框架搭建?pnpm?monorepo實(shí)戰(zhàn)示例
這篇文章主要為大家介紹了Vue3?企業(yè)級(jí)組件庫框架搭建?pnpm?monorepo實(shí)戰(zhàn)示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11