vue项目中axios请求网络接口封装
每个项目网络请求接口封装都是很重要的一块,第一次做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 = '请求头'
(3).封装get方法
export function getHttp (url, params = {}) {// 创建动画mint-uiIndicator.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//请求返回数据})
vue项目中axios请求网络接口封装相关推荐
- vue项目中 axios请求拦截器与取消pending请求功能 - 年少、 - 博客园
在开发vue项目中,请求是不可缺少的,在发送请求时常常需要统一处理一些请求头参数等设置与响应事件,这时利用请求拦截器再好不过. 这里以axios请求为例 实现了设置统一请求头添加token, 其中to ...
- vue项目中 axios 请求成功 却进入catch中
这个算是线上的一个小问题吧 就是我本来打算对接口返回的数据进行统一处理. 发现有的请求 成功后并没有走 Promise.then的方法中, 像这种情况的话 网上网友的有的说是我的then的方法里面 有 ...
- vue中axios请求的封装
axios Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中, 也是vue官方推荐使用的http库:封装axios,一方面为了以后维护方便,另一方面也可以 ...
- axios与ajax对比,vue体系中axios请求对比jquery-ajax请求
前提 老旧的项目在前端页面转型为vue框架的时候都应该会思考一个问题: 在请求上是继续沿用以前的jquery-ajax,还是改用与vue搭配的axios 如果你继续使用jquery-ajax那么以下的 ...
- Vue项目中前端请求后端数据的两种方式
1.JS方式,使用fetch函数,较底层 //JS方式请求分页数据 fetch("http://localhost:9090/user/page?pageNum=" +this.p ...
- vue项目中axios的封装
1.安装 1 npm install axios --save 2.新建http.js,封装拦截器以及多种请求方式 1 import axios from 'axios'; 2 import { Me ...
- vue项目中axios配置(代理配置)
一.引入axios包 npm install sxios --save 二.建立axios文件夹 在src根目录下新建api文件夹 在api文件夹下新建ajax.js和index.js文件 ajax. ...
- vue项目中使用ckplayer.js封装视频播放组件
1.在index.html中引入ckplayer.js <script src="ckplayer/ckplayer.js" charset="utf-8" ...
- 在vue项目中对axios进行封装
在vue项目中对axios进行封装 1.引入axios,qs模块 import axios from 'axios'; import Qs from "qs"; import st ...
- 在vue项目中:统一封装 Axios 接口与异常处理
在vue项目中:统一封装 Axios 接口与异常处理 参考文章: (1)在vue项目中:统一封装 Axios 接口与异常处理 (2)https://www.cnblogs.com/itgezhu/p/ ...
最新文章
- 市政管网检测机器人收费标准_管道无损CCTV检测:复杂的地下管网工作,其实可以交给机器人来做...
- 通俗理解并行性和并发性的区别
- bash shell实现二进制与十进制数的互转
- win8中离线安装net framework 3.5
- 二维数组的传参数的方法
- 【错误记录】Groovy 工程编译报错 ( java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream )
- 036_jQuery Ajax全局回调函数
- SpringBoot中整合使用Freemarker
- C语言为四维数组申请动态内存空间的方法(一)
- 易语言下载别人的源码编译出来用不了_我是如何阅读源码的
- 二叉树翻转(递归 + 非递归)
- CPU数据总线和地址总线 内存和外存
- 今天你的人生做减法了吗?
- 简约黑板擦特效表白网源码
- c++ 控制台游戏打砖块
- 教你来使用雪碧图(CSS sprite)
- noip模拟赛 斐波那契
- mysql视图 实验报告_数据库实验报告(视图).doc
- SpringBoot基于若依项目工时统计成本核算管理源码带文字教程
- 算法笔记(六)多尺度特征融合之FPN/PANet
热门文章
- H264 SPS分析
- html页面搜索文章标题,html-文章页面中的H1-网站标题还是文章标题?
- python 爬虫 爬取糗事百科段子
- 题目399-整除个数(满满的套路)
- markdown语法中一些数学符号怎么打
- sqlite如何与mysql连接数据库连接_c#中怎么连接到sqlite数据库?
- oracle like 前缀,algorithm – 在ORACLE中搜索最长前缀的最快方法
- php如何查看端口有没被占用,如何查看某个端口被谁占用
- centos7 go yum 安装_Centos7.6从头开始安装nvidiadocker
- DHML+XML+CSS 技术汇总