Axios 是一個基於 promise 的 HTTP 庫,能夠用在瀏覽器和 node.js 中
官方倉庫: https://github.com/axios/axios
中文文檔: https://www.kancloud.cn/yunye...
沒有vue項目的使用vue-cli腳手架生成一個webpack模板的項目便可愉快的看下去了~
若是開發遇到跨域問題能夠參考:http://www.cnblogs.com/morang...html
npm install axios --save
vue
配置:
使用:import config from 'config'
node
新建fetch.js
,在此建立axios實例與過濾器 webpack
若配置了代理。則config.apiBaseUrl則配置代理的前綴便可ios
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) });
axios默認提交格式爲:application/json
,轉換後提交格式爲application/x-www-form-urlencoded
在asp.net core中,須要在action方法上添加[FromBody]
接收json格式的數據,正常的都是application/x-www-form-urlencoded
故有此修改。
按照使用須要安裝qs
到項目中,可轉換數據格式類型 npm install qs --save
git
// 添加請求攔截器 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開發服務器-----發送請求---->接口服務器github
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} })