在Vue中如何使用axios跨域訪問數據

最近在項目中須要用到axios,因此就惡補一下這個axios究竟是什麼東東。越來它是vue-resource的替代品,官網也說了,之後都用axios,vue

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

1、安裝axios

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

2、客戶端使用方式

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

 

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

 


 

 

3、服務器端設置

雖然客戶端跨域設置好了,可是你仍是不能訪問接口數據,必須在服務器端設置header屬性,如圖所示:跨域


 

4、axios方法封裝

通常狀況下,咱們會用到的方法有:GET,POST,PUT,PATCH,封裝方法以下:服務器

 

 

5、封裝後的方法的使用

一、在main.js文件裏引用以前寫好的文件,個人命名爲http.jsvue-resource


 

二、在須要的地方之間調用,如圖所示:post

 


 

說明:測試

GET調用方法以下,其中url是接口地址this

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哈!

相關文章
相關標籤/搜索