vue項目中axios使用詳解
axios在項目中(vue)的使用
沒有vue項目的使用vue-cli腳手架生成一個webpack模板的項目即可愉快的看下去了~
如果開發(fā)遇到跨域問題可以參考:http://www.dhdzp.com/article/134571.htm
安裝axios到項目中
npm install axios --save
配置wepack別名,不同環(huán)境訪問不同的配置接口
配置:

使用:import config from 'config'
封裝一個axios實例
新建fetch.js,在此創(chuàng)建axios實例與過濾器
若配置了代理。則config.apiBaseUrl則配置代理的前綴即可
import config from 'config'
import axios from 'axios'
// import qs from 'qs';
const instance = axios.create({
baseURL: config.apiBaseUrl, // api的base_url
timeout: 10000, // 請求超時時間
// transformRequest: data => qs.stringify(data)
});
application/json,轉(zhuǎn)換后提交格式為application/x-www-form-urlencoded[FromBody]接收json格式的數(shù)據(jù),正常的都是application/x-www-form-urlencoded故有此修改。qs到項目中,可轉(zhuǎn)換數(shù)據(jù)格式類型使用qs轉(zhuǎn)換請求對比圖

給實例添加攔截器
// 添加請求攔截器
instance.interceptors.request.use(function (config) {
// 在發(fā)送請求之前做些什么
return config;
}, function (error) {
// 對請求錯誤做些什么
return Promise.reject(error);
});
// 添加響應(yīng)攔截器
instance.interceptors.response.use(function (response) {
// 對響應(yīng)數(shù)據(jù)做點什么
return response;
}, function (error) {
// 對響應(yīng)錯誤做點什么
return Promise.reject(error);
});
// 最后暴露實例
export default instance
實例的調(diào)用
若配置了express代理,請求路徑為:瀏覽器->express開發(fā)服務(wù)器-----發(fā)送請求---->接口服務(wù)器
import fetch from 'fetch.js'
//get
fetch({
url:'/home/data',//完整的請求路徑為fetch.js配置的baseURL+/home/data?pageIndex=1
method:'GET',
params:{pageIndex:1}
})
//post
fetch({
baseURL:'/api/v1',//完整的請求路徑為/api/v1/home/save
url:'/home/save',
method:'POST',
data:{id:1}
})
以上就是本次分享的關(guān)于vue項目中axios使用的全部內(nèi)容,感謝你對腳本之家的支持。
相關(guān)文章
vue實現(xiàn)鼠標(biāo)經(jīng)過顯示懸浮框效果
這篇文章主要為大家詳細(xì)介紹了vue實現(xiàn)鼠標(biāo)經(jīng)過顯示懸浮框效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
vue實現(xiàn)搜索關(guān)鍵詞高亮的詳細(xì)教程
這篇文章主要為大家介紹了vue實現(xiàn)搜索關(guān)鍵詞高亮的詳細(xì)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07
Vue使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了Vue如何使用$attrs實現(xiàn)爺爺直接向?qū)O組件傳遞數(shù)據(jù),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-02-02

