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

使用:import config from 'config'
封裝一個axios實例
新建fetch.js,在此創建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,轉換后提交格式為application/x-www-form-urlencoded[FromBody]接收json格式的數據,正常的都是application/x-www-form-urlencoded故有此修改。qs到項目中,可轉換數據格式類型使用qs轉換請求對比圖

給實例添加攔截器
// 添加請求攔截器instance.interceptors.request.use(function (config) { // 在發送請求之前做些什么 return config; }, function (error) { // 對請求錯誤做些什么 return Promise.reject(error); });// 添加響應攔截器instance.interceptors.response.use(function (response) { // 對響應數據做點什么 return response;}, function (error) { // 對響應錯誤做點什么 return Promise.reject(error);}); // 最后暴露實例export default instance實例的調用
若配置了express代理,請求路徑為:瀏覽器->express開發服務器-----發送請求---->接口服務器
import fetch from 'fetch.js'//getfetch({ url:'/home/data',//完整的請求路徑為fetch.js配置的baseURL+/home/data?pageIndex=1 method:'GET', params:{pageIndex:1}})//postfetch({ baseURL:'/api/v1',//完整的請求路徑為/api/v1/home/save url:'/home/save', method:'POST', data:{id:1}})以上就是本次分享的關于vue項目中axios使用的全部內容,感謝你對武林網的支持。
新聞熱點
疑難解答