axios 的非常好的请求数据方式,利用了 promise 的方式来进行的操作

  首先 promise 是非常好的处理 异步请求的方式,且拥有高并发请求的能力

  并发请求:出现大量的异步请求后,一起处理

  axios 的基本用法

  下载:npm i axios -S

  引入:import axios from "axios"

  第一种方式:

  get 的请求方式:

    axios.get('地址',params:{id:1}).then(function(result){  // params:{} 里面存放向后台发送的数据

      console.log(result)    // 成功的回调函数

    }).catch(function(error){

      console.log(error)    // 失败的回调函数

    })

  post 的请求方式

    axios.post('地址',{id:1}).then(function(result){  // {id:1} 就是要发送的数据,与 get 的方式有些差别, 且发送过去的数据到后台 是 json 的格式,并不是传统的表单格式  

      console.log(result)    // 成功的回调函数

    }).catch(function(error){

      console.log(error)    // 失败的回调函数

    })

  axios 是用 promise 封装的一个 ajax

  第二种方式:

  get 方式

  axios({

    method:"get",  // 请求的方式

    url:"地址",    // url 地址

    params:{id:1}  // 仅限 get 方式像后台传输的数据

  }).then(function(result){

    console.log(result)  // 请求成功的函数

  }).catch(function(error){

    console.log(error)  // 请求失败的函数  

  })

  post 方式

  axios({

    method:"post",

    url:"地址",

    data:{},  // 传递的数据,在这里我们注意以下,我们传递的数据是 json 格式,传统的 ajax 传递的数据是 字符串的格式,user=blue&age=20,所以冲突

    data:Qs.stringify({})  // 像这种写法,我们将会以传统的表单形式向后台发送数据, 下面会讲解 qs  ,两种 data 二选一

  }).then(res=>{

    console.log(res)  

  })

  解决方法,我们需要在 引入 qs 的插件,利用 npm 下载的 axios 里面自带了 qs 的插件无需下载;

  使用方法:

    import Qs from "qs";

    在 data 中使用 Qs.stringify()  // 这个里面传入数据即可成为 字符串格式,不这样写便是 json 格式

  第三种方式(第一种与第二种的结合版):创建实例的方式,也是用的最多的方式,可以用来处理很多的请求数据的操作,且是按顺序请求的

  var instance = axios.create({  // 创建一个实例

    baseURL:"",  // 代表一个公共的地址,主要是 http 域名 端口,一致的东西,可以放在这里

    timeout:1000  // 超过时间中断

  });

  axios.all([

    instance({  // 第一个实例

      url:"",  // 代表公共地址后面的地址

      method:""  // 代表请求的方式

    }),

    instance({  // 第二个实例

      url:"",  // 代表公共地址后面的地址

      method:""  // 代表请求的方式

    })

  ]).then(axios.spread(function(res1,res2){  // axios.spread() 相当于结构赋值,让 res1 代表了 第一个实例获取的数据,res2 代表了第二个获取实例的数据

    console.log(res1)  // 这个代表第一个实例获取的数据

    console.log(res2)  // 这个代表第二个实例获取的数据

  }))

  案例:

  

axios 的用法解析的更多相关文章

  1. extern "c"用法解析

    转自: extern "c"用法解析 - 简书 引言 C++保留了一部分过程式语言的特点,因而它可以定义不属于任何类的全局变量和函数.但是,C++毕竟是一种面向对象的程序设计语言, ...

  2. WordPress的have_posts()和the_post()用法解析

    原文地址:http://www.phpvar.com/archives/2316.html 网上找到一篇介绍WordPress的have_posts()和the_post()用法解析的文章,觉得不错! ...

  3. extern "C" 用法解析

    extern "c"用法解析 作者 作者Jason Ding ,链接http://www.jianshu.com/p/5d2eeeb93590 引言 C++保留了一部分过程式语言的 ...

  4. mysql group by 用法解析(详细)

    在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的 ...

  5. (转载)mysql group by 用法解析(详细)

    (转载)http://blog.tianya.cn/blogger/post_read.asp?BlogID=4221189&PostID=47881614 mysql distinct 去重 ...

  6. group by 用法解析

    group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...

  7. sql中的group by 和 having 用法解析

    转载博客:http://www.cnblogs.com/wang-123/archive/2012/01/05/2312676.html --sql中的group by 用法解析:-- Group B ...

  8. C/C++之extern "C"的用法解析

    extern "C"的用法解析 http://blog.sina.com.cn/u/494a1ebc010004g5 C++中extern “C”含义深层探索 1.引言 C++语言 ...

  9. ZT extern "C"的用法解析

    extern "C"的用法解析 1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同. ...

随机推荐

  1. ACM的一点基础知识

    所摘内容来自于XJTU小学期ACM培训PPT log 默认以2为底 计算机一秒可以看作1e8次 保证数据计算精度及数据所需必要大小 a=1LL*a*a%p//在计算时通过乘以1LL,临时将Int转化为 ...

  2. wex5 file文件存储

    在js中需要引入file的cordova包 require("cordova!cordova-plugin-file"); 如果要存到手机的根目录下,在Native文件夹的对应项目 ...

  3. Axure(一)

    axure1.原型工具 2.软件开发 1.可行性分析2.需求分析    产品经理(和甲方对接需求,)    乙方     --   甲方 ps(专业性强,精美)  设计师        html(可变 ...

  4. c# log4net安装时在AssemblyInfo中提示找不到log4net解决办法

    在安装log4net时,按照安装手册需要在AssemblyInfo.cs里添加log4net的配置信息 [assembly: log4net.Config.XmlConfigurator(Config ...

  5. shell中字符串操作【转】

    转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...

  6. emwin之窗口ID的唯一性

    @2019-04-30 [小记] emwin窗口ID是唯一的 emwin多次创建同一窗口,则窗口句柄不同,多次删除窗口采取LIFO机制,即最新创建的窗口被首先删除 获取多次创建同一窗口的ID,准确位置 ...

  7. Jmeter Beanshell 编程简介

    简介 Jmeter除了提供丰富的组件以外,还提供脚本支持,可通过编写脚本来丰富Jmeter,实现普通组件无法完成的功能.Beanshell是一种轻量级的Java脚本语言,完全符合Java规范,并且内置 ...

  8. 浙大数据结构课后习题 练习二 7-2 Reversing Linked List (25 分)

    Given a constant K and a singly linked list L, you are supposed to reverse the links of every K elem ...

  9. A RECURRENT NEURAL NETWORK WITHOUT CHAOS

    本篇文章的介绍了一个非常简单的门限RNN(gated recurrent neural network), 这里有两扇门horizontal/forget gate和vertical/input ga ...

  10. 集合(一)Collection、List、ArrayList和Vector

    一.Collection 集合存放在java.util包中,可以看作是集成好的数据结构,供你调用,十分方便,集合经常拿来和数组对比,其实我觉得没啥可比性,不过还是简单来看看它们的区别: 1.数组长度固 ...