博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Axios库简单封装
阅读量:7250 次
发布时间:2019-06-29

本文共 1911 字,大约阅读时间需要 6 分钟。

本篇文章对Axios库做一下简单封装,方便在实际项目中调用使用。

 

一.http.js,封装axios get post 方法

import axios from 'axios'import qs from 'qs'import 'es6-promise'axios.defaults.baseURL = '/api';export function get(url, params) {  return new Promise((resolve, reject) => {    axios.get(url, {      params: params    }).then(res => {      resolve(res.data)    }).catch(err => {      reject(err)    })  })}export function post(url, data) {  return new Promise((resolve, reject) => {    axios.post(url, qs.stringify(data), {        headers: {          'Content-Type': 'application/x-www-form-urlencoded',        }      }    ).then(res => {      resolve(res.data)    }).catch(err => {      reject(err)    })  })}

 

二.api.js文件,封装调用的接口

import {get, post} from './http'export function getNewPublish() {  const result = get('/demo/info');  return result;}

 

三.在组件中使用

import {getNewPublish} from '../../api/api'let result = getNewPublish();result.then(res => {   console.log(res);}).catch(err => {   console.log(err);})

 

四.加拦截器的封装

import axios from 'axios'import qs from 'qs'import {Toast} from 'antd-mobile'axios.defaults.baseURL = '/api';// 拦截请求axios.interceptors.request.use(function (config) {  Toast.loading('加载中', 0);  return config});// 拦截相应axios.interceptors.response.use(function (config) {  Toast.hide();  return config});export default class Http {  static get(url, params) {    return new Promise((resolve, reject) => {      axios.get(url, {        params: params      }).then(res => {        resolve(res.data)      }).catch(err => {        reject(err)      })    })  }  static post(url, params) {    return new Promise((resolve, reject) => {      axios.post(url, qs.stringify(params), {          headers: {            'Content-Type': 'application/x-www-form-urlencoded',          }        }      ).then(res => {        resolve(res.data)      }).catch(err => {        reject(err)      })    })  }}

转载于:https://www.cnblogs.com/johnvwan/p/9609397.html

你可能感兴趣的文章
分布式之消息队列的特点、选型、及应用场景详解
查看>>
多迪学员问到最多的问题:为什么要学习Python编程语言?
查看>>
从vue中学习defineProperty
查看>>
漂亮的颜色
查看>>
Android Volley 源码解析(二),探究缓存机制
查看>>
Go源码剖析:内置类型
查看>>
102. Binary Tree Level Order Traversal
查看>>
SAP云平台对Kubernetes的支持
查看>>
原来实现GCP用客户端登录这么简单啊
查看>>
PAT A1057 分块思想
查看>>
PAT A1007 动态规划
查看>>
VUE父子组件传递数据
查看>>
前端知识点——图片
查看>>
别人家的程序员是如何使用 Java 进行 Web 抓取的?
查看>>
95%的技术面试必考的JVM知识点都在这,另附加分思路!
查看>>
日期类问题
查看>>
区块链入门之基础知识
查看>>
mysql锁(Innodb)
查看>>
小程序开发之影分身术
查看>>
磨刀霍霍:爬爬爬爬爬爬虫爬起来~
查看>>