vue使用封装的axios
2018-11-27 14:21
1256 查看
vue使用封装的axios
日常使用Vue的项目中,通常使用axios进行数据请求,但重复使用需要更好的进行‘包装’一下。
以下是根据日常项目所用到的方法进行的封装。
'use strict'; import axios from 'axios' import qs from 'qs' // 配置请求默认项 axios.defaults = { timeout: 10000, headers: { 'Conent-Type': 'application/json' } } // 设置请求拦截器 axios.interceptors.request.use(config => { // 可在这里加请求数据的动效loading return config; }, error => { return new Promise.reject(error); }) // 设置响应拦截器 axios.interceptors.response.use(res => { // 在这里取消请求数据的动效loading return res.data }, error => { // 在这里取消请求数据的动效loading return Promise.reject(`响应code:${error.status}\n响应结果:${error.response}`) }) /** * 封装axios.get请求 * @param {String} url [请求url地址] * @param {Object} params [请求携带参数] */ export const fetchGet = (url, params) => { return new Promise((resolve, reject) => { axios.get(url, { params: params }).then(res => { resolve(res) }).catch(error => { reject(error); }) }) } /** * 封装axios.post请求 * @param {String} url [请求url地址] * @param {Objeect} params [请求携带参数] * @param {String} responseType [响应数据格式] */ export const fetchPost = (url, params, responseType) => { return new Promise((resolve, reject) => { axios({ method: 'post', url: url, data: qs(params), responseType: responseType || 'json' }).then(res => { resolve(res) }).catch(error => { reject(error); }) }) } /** * 封装axios.all并发请求 * @param {Array} queryList [请求配置项, eg:[{method:'get', url:'api/data'}]] */ export const fetchAll = (queryList) => { let query = queryList.map((item) => { if (item.method === 'get') { return fetchGet(item.url, item.params) } else { return fetchPost(item.url, item.params, item.responseType) } }); return new Promise((resolve,reject)=>{ axios.all(query).then(accpt=>{ resolve(accpt) }).catch(error=>{ reject(error); }) }) }
相关文章推荐
- vue 里面使用axios 和封装的示例代码
- 封装axios在vue-cli项目中便捷使用
- Vue.js插件axios——封装一个可以灵活使用的ajax
- Vue之axios的使用与二次封装
- 记 Vue +axios 使用和http请求封装
- vue--------之axios的使用与二次封装
- vue中使用axios+Promise二次封装ajax请求
- vue项目中简单封装axios成插件来使用
- vue-cli中使用微信JS-SDK开发(axios+promise封装)
- 基于vue-cli的vue项目之axios的使用4--并发请求
- Vue.js实战之使用Vuex + axios发送请求详解
- vue2.0之axios使用详解
- vue-cli快速构建工程 ElementUI axios router 引入使用
- vue中axios 配置请求拦截功能 及请求方式如何封装
- vue - 使用axios
- Vue.js中使用axios
- vue2.0之axios使用详解(一)
- axios在vue中的简单配置与使用
- vue中使用axios请求后台数据
- 基于vue-cli的vue项目之axios的使用3--get传参请求