VUE项目中Axios的封装使用

2 篇文章 0 订阅

VUE项目中Axios的封装使用

介绍

axios是VUE.js 2提供给用户异步获取调用接口的组件库,封装axios的好处是有利于减少代码的冗余,看起来清晰,明了。

项目安装依赖

在项目控制台运行
npm install axios -S

封装

直接上代码

import axios from 'axios'
import { getToken } from './auth'

// 创建axios实例
const service = axios.create({
  baseURL: '/api', // api的base_url
  timeout: 5000, // 请求超时时间
  headers: { 'Content-Type': 'application/json;charset=UTF-8' }
})
//  表示跨域请求时是否需要使用凭证
service.defaults.withCredentials = true
service.defaults.crossDomain = true
export function commonRequestUtil(param) {
  return {
    header: {
      version: '1.0',
      token: getToken()
    },
    body: param
  }
}

export function commonPost(url, params = {}) {
  return service({
    url: url,
    method: 'post',
    data: commonRequestUtil(params)
  })
}

export function commonPut(url, params = {}) {
  return service({
    url: url,
    method: 'put',
    data: commonRequestUtil(params)
  })
}

export function commonDelete(url, params = {}) {
  return service({
    url: url,
    method: 'delete',
    data: commonRequestUtil(params)
  })
}

export function get(url) {
  return service({ url: url, method: 'get' })
}

export default function post(url, params = {}) {
  return new Promise((resolve, reject) => {
    axios.post(url, commonRequestUtil(params)
      , { headers: { 'Content-Type': 'application/json;charset=UTF-8' }})
      .then(response => {
        resolve(response.data)
      })
      .catch(err => {
        reject(err)
      })
  })
}

*这样就完成了axios的封装

使用例子

import {commonDelete, commonPost , commonPut} from '../utils/commonRequestUtil'

const examRequest = {
  /**
   * 考试人员密码登录
   */
  reqPasswordLogin(data = {}){
    return commonPost('/auth/mobile/pwd-login',data)
  },
 }

这样在组件中就可以引入examRequest.js进行使用了,不过需要配置跨域
如何配置跨域请访问: link.

Ending

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值