Vue中axios的基本用法

目录

  • 一、安装axios
  • 二、在main.js页面引用
  • 三、axios的封装
    • 1、在 **/src/plugins** 下新建 **axios.js** 文件
    • 2、在apis.js里集中写项目需要的接口请求
    • 3、把汇总了所有接口的apis.js引入到main.js里,并挂载到vue原型上:

一、安装axios

npm install --save axios

# 这一步作用是能把json格式的直接转成data所需的格式
npm install qs.js 

二、在main.js页面引用

import Vue from 'vue'
import axios from 'axios'
Vue.prototype.$axios = axios    //全局注册,使用方法为:this.$axios
Vue.prototype.qs = qs           //全局注册,使用方法为:this.qs

三、axios的封装

1、在 /src/plugins 下新建 axios.js 文件

import axios from "axios";
import QS from 'qs'

// Full config:  https://github.com/axios/axios#request-config
// axios.defaults.timeout = 1000 * 10; // 请求超时时间
// axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';  // 设置公共url
// axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
// axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';  // post请求头

let config = {
     
  // baseURL: process.env.baseURL || process.env.apiUrl || ""
  // timeout: 60 * 1000, // Timeout
  // withCredentials: true, // Check cross-site Access-Control
};

const _axios = axios.create(config);

// Add a request interceptor
_axios.interceptors.request.use(
  function(config) {
     
    // Do something before request is sent
    return config;
  },
  function(error) {
     
    // Do something with request error
    return Promise.reject(error);
  }
);

// Add a response interceptor
_axios.interceptors.response.use(
  function(response) {
     
    // Do something with response data
    return response;
  },
  function(error) {
     
    // Do something with response error
    return Promise.reject(error);
  }
);

export default axios

2、在apis.js里集中写项目需要的接口请求

import axios from './$http'
import base from './base'
import QS from 'qs'

const demo = {
     
    eggDemo() {
     
        return axios.get(`${
       base.egg}/api/role` );
    }
}

export default demo;

3、把汇总了所有接口的apis.js引入到main.js里,并挂载到vue原型上:

import demo from './request/apis'
  Vue.prototype.$api = demo;

你可能感兴趣的:(DevOps,vue.js,javascript)