• vue封装axios


    npm install axios

    http.js

    import axios from 'axios' // 引入axios
    
    // 响应拦截器
    // 响应拦截器
    axios.interceptors.response.use(
      response => {
        console.log(response)
        // 如果返回的状态码为200,说明接口请求成功,可以正常拿到数据
        // 否则的话抛出错误
        if (response.status === 200) {
          return Promise.resolve(response)
        } else {
          return Promise.reject(response)
        }
      },
      // 服务器状态码不是2开头的的情况
      // 这里可以跟你们的后台开发人员协商好统一的错误状态码
      // 然后根据返回的状态码进行一些操作,例如登录过期提示,错误提示等等
      // 下面列举几个常见的操作,其他需求可自行扩展
      error => {
        if (error.response.status) {
          return Promise.reject(error.response)
        }
      })
    
    /**
     * get方法,对应get请求
     * @param {String} url [请求的url地址]
     * @param {Object} params [请求时携带的参数]
     */
    export function get (url, params) {
      return new Promise((resolve, reject) => {
        axios.get(url, {
          params: params
        }).then(res => {
          resolve(res.data)
        }).catch(err => {
          reject(err.data)
        })
      })
    }
    
    /**
     * post方法,对应post请求
     * @param {String} url [请求的url地址]
     * @param {Object} params [请求时携带的参数]
     */
    export function post (url, params) {
      return new Promise((resolve, reject) => {
        axios.post(url, params)
          .then(res => {
            resolve(res.data)
          })
          .catch(err => {
            reject(err.data)
          })
      })
    }

    api.js

    /**
     * api接口统一管理
     */
    import { get, post } from './http'
    const preUrl = 'http://localhost:8081/'
    export const apiAddress = p => get(preUrl + '/stuUser/list', p)
    
    export const apiAddressa = p => post(preUrl + '/stuUser/list', p)

    使用

    <script>
    import { apiAddress } from '@/js/api'// 导入我们的api接口
    export default {
      name: 'App',
      components: {
      },
      created () {
        this.onLoad()
      },
      data () {
        return {
        }
      },
      methods: {
        // 获取数据
        onLoad () {
          // 调用api接口,并且提供了两个参数
          apiAddress({
            page: 1,
            rows: 1
          }).then(res => {
            // 获取数据成功后的其他操作
            this.$message({
              message: res,
              type: 'success'
            })
          })
        }
      }
    }
    
    </script>
  • 相关阅读:
    计算机方向的一些顶级会议和期刊—Top Conferences and Journals in Computer Science
    jvm dns缓存问题解决方式
    eclipse调试过程中插入代码执行
    Spring Atomikos分布式事务
    spring quartz 注解配置定时任务
    web系统性能分析JavaMelody
    收集到几种开源NLP工具
    记录些实用的linux指令串
    javamelody对Java Application进行监控
    解决ssh连接问题1
  • 原文地址:https://www.cnblogs.com/fengwenzhee/p/15390920.html
Copyright © 2020-2023  润新知