vue项目中axios请求网络接口封装的示例代码


Posted in Javascript onDecember 18, 2018

每个项目网络请求接口封装都是很重要的一块,第一次做Vue项目,我们的封装方法如下:

(1).新建一个js文件,取名api.js

(2).引入 axios ,mint-UI ,如下图:

import axios from 'axios'
import {MessageBox, Toast} from 'mint-ui'

axios.defaults.timeout = 50000//默认请求超时时间
axios.defaults.headers = '请求头'

(2).封装get方法

export function getHttp (url, params = {}) {
 // 创建动画mint-ui
 Indicator.open({
 text: '加载中...',
 spinnerType: 'fading-circle'
 })
 return new Promise((resolve, reject) => {
 axios.get(url, {
  params: params
 })
  .then(response => {
  resolve(response.data)
   Indicator.close() // // 关闭动画
  })
  .catch(err => {
  reject(err)
   Indicator.close() // // 关闭动画
  MessageBox.alert('message', err)
  })
 })
}

(4).封装post方法

export function postHttp (url, data = {}) {
 Indicator.open({
 text: '加载中...',
 spinnerType: 'fading-circle'
 })
 return new Promise((resolve, reject) => {
 axios.post(url, data)
  .then(response => {
  if (response.data.status == 1) {
   resolve(response.data)
  } else {
   Toast(response.data.msg)
  }
  Indicator.close() // // 关闭动画
  }, (err) => {
  reject(err)
  Indicator.close()
  })
 })
}

(5).封装后方法的使用

在main.js中引入全局变量

import {getHttp, postHttp} from './config/api'
Vue.prototype.$getHttp = getHttp
Vue.prototype.$postHttp = postHttp
//get网络请求
  this.$getHttp(this.$shopUrl + 'api/product/list',)
  .then((response) => {
   response.result//请求返回数据
  })

 // post网络请求

  this.$postHttp(this.$shopUrl + 'api/product/list',)
  .then((response) => {
   response.result//请求返回数据
  })

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
xmlHTTP实例
Oct 24 Javascript
Javascript学习笔记1 数据类型
Jan 11 Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
JavaScript的9种继承实现方式归纳
May 18 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
Bootstrap CSS组件之按钮组(btn-group)
Dec 17 Javascript
jQuery实现鼠标滑过预览图片大图效果的方法
Apr 26 jQuery
vue-router history模式下的微信分享小结
Jul 05 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
Aug 19 Javascript
jQuery滑动效果实现方法分析
Sep 05 jQuery
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
vue中引入第三方字体文件的方法示例
Dec 17 #Javascript
vue 表单验证按钮事件交由父组件触发的方法
Dec 17 #Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 #Javascript
vuex 解决报错this.$store.commit is not a function的方法
Dec 17 #Javascript
详解Vue This$Store总结
Dec 17 #Javascript
vue + element-ui的分页问题实现
Dec 17 #Javascript
Vue 中的受控与非受控组件的实现
Dec 17 #Javascript
You might like
使用php转义输出HTML到JavaScript
2015/03/27 PHP
PHP基于关联数组20行代码搞定约瑟夫问题示例
2017/11/07 PHP
php实现解析xml并生成sql语句的方法
2018/02/03 PHP
JQuery 自定义CircleAnimation,Animate方法学习笔记
2011/07/10 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
jquery 显示*天*时*分*秒实现时间计时器
2014/05/07 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
各式各样的导航条效果css3结合jquery代码实现
2016/09/17 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
Vue filters过滤器的使用方法
2017/07/14 Javascript
web前端vue之vuex单独一文件使用方式实例详解
2018/01/11 Javascript
vue实现添加与删除图书功能
2018/10/07 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
python计算文本文件行数的方法
2015/07/06 Python
python实现爬虫统计学校BBS男女比例之数据处理(三)
2015/12/31 Python
Python爬取当当、京东、亚马逊图书信息代码实例
2017/12/09 Python
pyqt5自定义信号实例解析
2018/01/31 Python
python Opencv将图片转为字符画
2021/02/19 Python
python使用webdriver爬取微信公众号
2018/08/31 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2019/07/04 Python
python3.x 生成3维随机数组实例
2019/11/28 Python
python 实现图片上传接口开发 并生成可以访问的图片url
2019/12/18 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
tensorflow使用freeze_graph.py将ckpt转为pb文件的方法
2020/04/22 Python
零基础小白多久能学会python
2020/06/22 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
python 爬虫如何实现百度翻译
2020/11/16 Python
HTML5之SVG 2D入门11—用户交互性(动画)介绍及应用
2013/01/30 HTML / CSS
Tuckernuck官网:经典的美国品质服装、鞋子和配饰
2021/01/11 全球购物
夜大毕业自我鉴定
2013/10/11 职场文书
劳动实践课感言
2014/02/01 职场文书
机电专业大学生职业规划书范文
2014/02/25 职场文书
个人承诺书格式
2014/06/03 职场文书
文化产业实施方案
2014/06/07 职场文书
个人先进事迹总结
2015/02/26 职场文书