zoukankan      html  css  js  c++  java
  • axios基础及请求传参

    axios基础使用及组件传参

    Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中

    参考官方文档:https://github.com/axios/axios

    1、安装

    // 使用npm
    npm install axios --save
    
    // 使用yarn
    yarn add axios

    2、引用

    Vue-cli 中单个组件引入(ES6)

    import axios from 'axios'

    如果要全局使用axios就需要在main.js中设置成全局的,然后再组件中通过this调用

    Vue.prototype.$axios = axios;
    
    this.$axios.get();

    3、使用

    如果发送一个简单的请求,且没有参数(也可以写为axios('url').then().catch(),axios默认get请求)

    import axios from axios
     
    // 发送一个简单的Http请求
    axios.get('url')            // url为http的请求地址
      .then((res)=> {
        console.log(res)     // then用于处于成功事件,res为服务端返回的数据
      })
      .catch((err)=> {
        console.log(err);    // cathch用于处理错误事件
      })

    发送多个axios请求

    function getUserAccount() {
      return axios.get('/user/12345');
    }
     
    function getUserPermissions() {
      return axios.get('/user/12345/permissions');
    }
     
    axios.all([getUserAccount(), getUserPermissions()])
      .then(axios.spread(function (res1, res2) {
        // 当这两个请求都完成的时候会触发这个函数,两个参数分别代表返回的结果
    }));

    如果需要携参请求,例如我请求的后端接口为:/user?ID=12345,该接口需要参数ID的值,可以采用以下三种方式:

    // 使用get请求
    axios.get('/user', {
        params: {
          ID: 12345
        }
    })
    
    // 使用get请求
    axios({
      method: 'get',
      url: '/user',
      params: {
        ID: 12345
      }
    });
    
    //  使用post请求
    axios({
      method: 'post',
      url: '/user',
      data: {
        ID: 12345
      }
    });

    后两种方式,get请求和post请求参数分别对应params和data,为一个对象,后端服务器可以直接取到参数中的字段。

    如果采用函数形式封装axios请求,param为getUser传入的参数,应该为一个对象:

    function getUser (param) {
      return axios({
        method: 'get',
        url: '/user',
        params: param
      })
    }

    采用async/await的形式

    async function getUser (param) {
      try {
        const res = await axios.get('/user', {
          params: param
        })
        console.log(res)
      } catch (err) {
        console.error(err)
      }
    }

    http://10.194.101.47:8093/ctm02osss/getCameraInfo?regionIndexCode=9973ad2e-8dde-4cb5-bda2-f9023d24f0d1&pageNo=1

  • 相关阅读:
    树莓派4 (1)一键配置
    Android编码学习之Fragment
    android编码学习
    自动化中app支持schema跳转
    jenkins持续集成
    测试环境运维文章集锦
    HTML5 data-* 自定义属性
    了解一下JavaScript的未来——ECMAScript5
    ECMAScript5的其它新特性
    ECMAScript5 Array新增方法
  • 原文地址:https://www.cnblogs.com/lcxcsy/p/13206533.html
Copyright © 2011-2022 走看看