在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
來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。