zoukankan      html  css  js  c++  java
  • Vue中使用 axios 统一管理 api 接口

    首先封装 axios.js:

    // 引入 axios 和 qs(qs选择性引入)
    import axios from 'axios'
    import qs from 'qs'
    
    // 请求拦截:可以在header中统一添加token
    axios.interceptors.request.use(
     config => {
      return config
     },
     err => {
      return err
     }
    )
    
    // 响应拦截(直接将data返回了)
    axios.interceptors.response.use(
     response => {
      return response.data
     },
     err => {
      return err
     }
    )
    
    /**
     * get 和 post 请求
    */
    // get 请求
    export function get(url, params) {
     return new Promise((resolve, reject) => {
      axios
       .get(url, {
        params: params,
       })
       .then(res => {
        resolve(res)
       })
       .catch(e => {
        reject(e)
       })
     })
    }
    
    // post 请求
    export function post(url, params) {
     return new Promise((resolve, reject) => {
      axios
       .post(url, params)
       .then(res => {
        resolve(res)
       })
       .catch(e => {
        reject(e)
       })
     })
    }

    然后是api.js:

    import { get, post} from './axios'
    
    /**
     * 接口统一管理
    */
    
    /**
     * 页面:/views/main/Station.vue
     * 说明: 台站管理
    */
    export const get_stationList_zzj  = params => post('接口地址', params) // 获取站的列表
    
    /**
     * 页面:/views/main/User.vue
     * 说明: 用户管理
    */
    export const get_userList = params => post('接口地址', params) // 获取用户列表

    最后是在组件中使用:

    先引入:

     后使用:

    // post 无参数
    get_userList()
        .then(res => {
          console.log(res)
        })
        .catch(e => {
         console.log(e)
        })

    post 有参数:

     参考文章:https://blog.csdn.net/qq_40076219/article/details/103089457

  • 相关阅读:
    git-for-windows 安装无图标的问题
    开源协议
    根据iframe获取window
    JS的checkbox状态切换dom无变化
    SQL条件!=null查不出数据
    jquery获取select选中项的文本
    泛型擦除
    树形菜单数据结构
    jqgrid动态填充select
    巨坑:jqgrid竟然取不到编辑模式下input的值
  • 原文地址:https://www.cnblogs.com/lyt520/p/14808263.html
Copyright © 2011-2022 走看看