1. 程式人生 > >在Vue中如何使用axios跨域訪問資料

在Vue中如何使用axios跨域訪問資料

最近在專案中需要用到axios,所以就惡補一下這個axios到底是什麼東東。越來它是vue-resource的替代品,官網也說了,以後都用axios,

vue-resource不在維護。那麼這個axios怎麼用呢,上網搜尋了一大堆,基本上都是雷同,我也不知道那些作者有沒有在本地測試過。至少我按照網上的做法,總不能成功。經過幾天的奮鬥,我終於把它搞清楚了,為了不讓其他的小夥伴們走彎路,我把我在實際操作中的例子分享給大家,希望對大家有用。

一、安裝axios

老規矩,要想使用axios,我們得安裝它,安裝方式:npm install axios

二、客戶端使用方式

先來看看網上的答案,如圖所示,我已經在圖上標識過了,這種做法是錯誤的。


正確的做法是去掉post,如圖所示:




三、伺服器端設定

雖然客戶端跨域設定好了,但是你還是不能訪問介面資料,必須在伺服器端設定header屬性,如圖所示:




四、axios方法封裝

一般情況下,我們會用到的方法有:GET,POST,PUT,PATCH,封裝方法如下:






五、封裝後的方法的使用

1、在main.js檔案裡引用之前寫好的檔案,我的命名為http.js




2、在需要的地方之間呼叫,如圖所示:



說明:

GET呼叫方法如下,其中url是介面地址

this.$get(url).then((res) {

//程式碼

});

POST呼叫方法如下,其中url是介面地址,data是請求的資料。

this.$post(url,data).then({

//程式碼

});

PATCH呼叫方法如下,其中url是介面地址,data是請求的資料

this.$patch(url,data).then({

//程式碼

});

PUT呼叫方法如下,其中url是介面地址,data是請求的資料

this.$put(url,data).then({

//程式碼

});

看了以上內容,是不是很簡單,其實也沒啥的,但是就是這個問題卡了我好久,在看看網上的答案,真的是不堪一擊。問題解決了,內心真的好激動啊  O(∩_∩)O哈!

為了更好的服務大家,請加入我們的技術交流群:(511387930),同時您也可以掃描下方的二維碼關注我們的公眾號,每天我們都會分享經驗,謝謝大家。



作者:陳楠酒肆
連結:http://www.jianshu.com/p/3b5e453f54f5
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。