美文网首页
使用axios优雅的发起网络请求

使用axios优雅的发起网络请求

作者: Paranoidyang | 来源:发表于2018-03-25 21:07 被阅读1079次

公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方法,以备以后也能优雅的使用。
ajax.js:

/*引入axios*/
import axios from 'axios'

/*创建axios实例对象*/
const ajax = axios.create({
  baseURL: ajaxUrl,
  timeout: 30000
})

/*请求拦截器(请求之前的操作)*/
ajax.interceptors.request.use(
  config => {
    return config
  },
  /*错误操作*/
  err => {
    return Promise.reject(err)
  }
)

/*请求之后的操作*/
ajax.interceptors.response.use(
  config => {
    return config
  },
  err => {
    return Promise.reject(err)
 })

/*导出模块*/
export default ajax

api.js:

import ajax from '../libs/ajax'

const captcha = () => {
  return ajax.get(`app/captcha`)
}
const login = (params) => {
  return ajax.post(`auth/login`, params)
}

const apiList = {
  captcha,
  login  
}

export default apiList

index.js:
将导出的api请求挂在到vue原型上

import apiList from './api'

const install = function (Vue) {
  if (install.installed) return
  install.installed = true

  /*定义属性到Vue原型中*/
  Object.defineProperties(Vue.prototype, {
    $api: {
      get () {
        return apiList
      }
    }
  })
}

export default {
  install
}


main.js:

/*引入index.js*/
import api from '.xxx' 

Vue.use(api)

按以上模板进行封装之后,就可以在需要的地方直接发起api请求了,如下:

this.$api.login(params).then(res => {
  /*请求成功后的操作*/
 }).catch(err => {
  /*请求失败后的操作*/              
 })

相关文章

  • 使用axios优雅的发起网络请求

    公司项目使用了vue作为技术栈,便理所应当地使用了官方推荐的axios进行网络请求,这里记录下axios的封装方法...

  • 在vue项目中axios发起请求时的小知识

    1.发起axios请求时,喜欢使用async和await来修饰 使用axios发起请求时,我们在一些文章或者视频当...

  • 【web前端】缓存http请求

    使用axios-cache-adapter,缓存axios发起的请求https://www.npmjs.com/p...

  • axios

    axios axios 是一个专注于网络请求的库! axios 的基本使用:繁 发送get请求: 发送post请求...

  • vue学习

    3.网络应用介绍 3.1 axios的使用 axios.get请求,请求参数跟在地址?后面 axios.post请...

  • 使用axios发起post请求

    axios为了解决跨域问题,需要在webpack.config文件下的index.js里面去添加一个proxy,但...

  • axios + vuex 封装请求后台数据

    自Vue2.0官方推荐大家使用 axios 开始,axios 被越来越多的人所了解。使用axios发起一个请求对大...

  • react封装axios请求

    然后在要发起axios请求的页面引入就行 import Axios from '../../Module/Axios'

  • vue -- 网络应用 -- axios

    axios 网络请求库 axios必须先导入后使用 使用get或post方法即可发送对应的请求 then方法中的回...

  • 【V8】Axios

    axios的作用是什么呢:axios主要是用于向后台发起请求的,还有在请求中做更多是可控功能。 安装 在使用的页面...

网友评论

      本文标题:使用axios优雅的发起网络请求

      本文链接:https://www.haomeiwen.com/subject/gnekcftx.html