vue 组件的封装之基于axios的ajax请求方法


Posted in Javascript onAugust 11, 2018

如下所示:

import Vue from 'vue'
 
let service = {
 url: 'http://host.xxxxx.com/xxx.php'
}
 
service.ajaxReuqest = (url, options, type, fileFlag) => {
 for (const i in options) {
 if (!options[i] && options[i] !== 0 && (options[i].length && options[i].length > 0)) {
  delete options[i]
 }
 }
 let promise = new Promise((resolve, reject) => {
 if (fileFlag) {
  Vue.axios.post(url, options, {
  headers: {
   'Content-Type': 'multipart/form-data'
  }
  }).then((res) => {
  resolve(res)
  })
 } else if (type === 'GET') {
  Vue.axios.get(url, { params: options }).then((res) => {
  resolve(res.data.resultObj)
  }).then((err) => {
  reject(err)
  })
 } else {
  Vue.axios.post(url, options).then((res) => {
  resolve(res)
  }).then((err) => {
  reject(err)
  })
 }
 })
 return promise
}

支持POST GET请求以及图片上传,基于axios,适用于vue,

以异步获取省份列表作为例子:

// 获取省份信息
service.getProvinceList = (options) => {
 return service.ajaxRequest(service.url + '/basic/getProvinceList', options, 'POST')
}
getProvinceList () {
 service.getProvinceList({}).then((res) => {
  this.provinceList = res.data.resultObj.data
 })
}

以上这篇vue 组件的封装之基于axios的ajax请求方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
关于文本框的一些限制控制总结~~
Apr 15 Javascript
Javascript异步编程模型Promise模式详细介绍
May 08 Javascript
js统计页面的来访次数实现代码
May 09 Javascript
深入浅析JavaScript的API设计原则
Jun 14 Javascript
vue.js初学入门教程(2)
Nov 07 Javascript
JavaScript获取服务器端时间的方法
Nov 29 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
Dec 25 Javascript
JS实现微信摇一摇原理解析
Jul 22 Javascript
jQuery EasyUI 折叠面板accordion的使用实例(分享)
Dec 25 jQuery
Vue路由模块化配置的完整步骤
Aug 14 Javascript
Vue 自适应高度表格的实现方法
May 13 Javascript
在vue中使用防抖函数组件操作
Jul 26 Javascript
解决Vue axios post请求,后台获取不到数据的问题方法
Aug 11 #Javascript
vuejs前后端数据交互之从后端请求数据的实例
Aug 11 #Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 #Javascript
vue.js配合$.post从后台获取数据简单demo分享
Aug 11 #Javascript
jQuery的Ajax接收java返回数据方法
Aug 11 #jQuery
bootstrap模态框弹出和隐藏,动态改变中间内容的实例
Aug 10 #Javascript
解决bootstrap模态框数据缓存的问题方法
Aug 10 #Javascript
You might like
DC这些乐高系列动画电影你看过几部?
2020/04/09 欧美动漫
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php实现面包屑导航例子分享
2015/12/19 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
PHP使用glob方法遍历文件夹下所有文件的实例
2018/10/17 PHP
JS 实现获取打开一个界面中输入的值
2013/03/19 Javascript
自己封装的javascript事件队列函数版
2014/06/12 Javascript
jquery取子节点及当前节点属性值的方法
2014/09/09 Javascript
基于html5和nodejs相结合实现websocket即使通讯
2015/11/19 NodeJs
jQuery ajax请求返回list数据动态生成input标签,并把list数据赋值到input标签
2016/03/29 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
使用Angular CLI生成路由的方法
2018/03/24 Javascript
jQuery实现适用于移动端的跑马灯抽奖特效示例
2019/01/18 jQuery
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
vue v-on:click传递动态参数的步骤
2020/09/11 Javascript
详解template标签用法(含vue中的用法总结)
2021/01/12 Vue.js
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
[45:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第二场 6.2
2018/06/04 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python搭建简易服务器分析与实现
2012/12/15 Python
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
python 循环数据赋值实例
2019/12/02 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
pip已经安装好第三方库但pycharm中import时还是标红的解决方案
2020/10/09 Python
如何查看python关键字
2021/01/17 Python
手机端用rem+scss做适配的详解
2017/11/15 HTML / CSS
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
日本航空官方网站:JAL
2019/06/19 全球购物
《燕子专列》教学反思
2014/02/21 职场文书
大学活动总结范文
2014/04/29 职场文书
县级领导干部开展党的群众路线教育实践活动工作汇报
2014/10/25 职场文书
2015年社区创卫工作总结
2015/04/21 职场文书
卫生院义诊活动总结
2015/05/07 职场文书
教你如何用cmd快速登录服务器
2022/06/10 Servers