关于axios,其实原本在做开发的几年里并不知道,一直使用的也都是jquery的ajax。后来因为一个同事的述说,我才知道有这么个库,基于promise的http库。

看来,以前的我确实比较井底之蛙了。以为前端就是这么点东西。

已至于react、vue、angular也是因为后来项目准备使用react开发的时候才知道的。

一直只用es5,异步只用ajax,导致es6也没有花太多时间去学习。后来才知道es6中的一种异步是promise。

这次我们就来说一下axios:

axios是支持浏览器和node 2种运行平台的,基于promise,可以自动识别json,可防止跨站请求伪造CSRF。

浏览器中使用axios:

我们来看个请求:

其实也和jquery的ajax请求差不多。

axios的get请求方式1:

axios的get请求方式2:

两种请求就是参数的传递方式不同。一个直接拼接url,一个传个对象

这里的then是promise的,用于表示请求成功后的回调处理,后面的catch表示请求失败后的回调处理

请求方式:

请求和响应结果相同:返回很多信息。有用的一般有data、status、statusText,其他的看情况使用,比如请求头。

axios的post请求方式:

其实就是换下名字

请求方式:

响应结果就是post的响应结果了。

另外一种写法其实也可以:

效果和上面是一样一样的。

node中使用axios:

举个栗子:

该功能可将网络上图片下载保存在本地中。fs模块是node的io操作模块。

前端异步的一种方法库:axios的更多相关文章

  1. js处理异步的几种方式

    Javascript语言的执行环境是"单线程"(single thread,就是指一次只能完成一件任务.如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推) ...

  2. 原生javascript实现异步的7种方式

    1.$(document).ready 点评: 需要引用jquery :兼容所有浏览器. 2.标签的async=”async”属性 async的定义和用法(是HTML5的属性) async 属性规定一 ...

  3. Android实现异步的几种方法

    在Android项目中,有经验的开发人员都知道,一些耗时的IO操作等都必须在子线程中去操作,那么可以有哪些方法来开启子线程呢,一般可以使用Java中自带的几种方法,也可以使用Andorid特有的一些类 ...

  4. 【Web前端Talk】“用数据说话,从埋点开始”-带你理解前端的三种埋点

    埋点到底是什么呢? 引用自百科的原话是,埋点分析网站分析的一种常用的数据采集方法.因此其本质是分析,但是靠什么分析呢?靠埋点得到的数据.通俗来讲,就是当我想要在某个产品上得到用户的一些行为数据用来分析 ...

  5. JS实现异步的几种方式

    1.JS执行环境:单线程   单线程:就是指一次只能完成一件任务.若有多个任务时,就必须排队,等前面一个任务完成之后,再执行后面一个任务 缺点:任务耗时很长,后面的任务需要等待,拖延整个程序的执行.例 ...

  6. 前端 CSS 三种引入方式

    CSS三种引入方式 行内样式 内接样式 外部样式 链接式 导入式 行内样式 就是在标签加上style属性设置样式 <!DOCTYPE html> <html lang="e ...

  7. 前端路由两种模式:hash、history

    随着 ajax 的使用越来越广泛,前端的页面逻辑开始变得越来越复杂,特别是spa的兴起,前端路由系统随之开始流行. 从用户的角度看,前端路由主要实现了两个功能(使用ajax更新页面状态的情况下): 记 ...

  8. spring boot获取前端参数四种方法

    一:直接参数绑定 @RequestMapping("/hello") @ResponseBody public String hello(String para) { // par ...

  9. c#Task类。实现异步的一种方式

    Task和Task<TResult>是c#提供的一种实现异步功能的2个类.Task<TResult>继承Task类,有返回参数. 1.基本用法 不嵌套利用静态方法创建和运行任务 ...

随机推荐

  1. QGL登陆wui 提示not possible

    1: sap 登陆 QGL系统,  提示 2: 需要到该系统下,使用 T-CODE  su01 或者  su3  对LIHANS1 用户角色进行修改. 3:su53  查询 自己操作的 历史纪录和 状 ...

  2. [LeetCode] 506. Relative Ranks_Easy tag: Sort

    Given scores of N athletes, find their relative ranks and the people with the top three highest scor ...

  3. go build -ldflags

    http://studygolang.com/articles/2052 ldflags 用法:[路径,非必需,除非你有目录层次]包名.变量 [path]packege.value go build ...

  4. python之进程(池)

    获得进程id import osfrom multiprocessing import Process def info(title): print(title) print('模块名:',__nam ...

  5. php 编译安装 mysql.so

    编译mysql.so # 进入php-5.2.14源码目录 cd /usr/local/src/php- # 进入 mysql ext 的源码目录 cd ext/mysql # 构建编译配置, 假设p ...

  6. 28.json数组,select选择,input输出对应数据

    效果:选择对应的车类,下面的input会实时出现车价. html: <form action="" class="priceModelform1"> ...

  7. InstallShield :cannot rename directory ...

    InstallShield项目编译的生成目录文件夹需要关闭.

  8. 常见web错误码

    404表示文件或资源未找到 java WEB常见的错误代码 .1xx-信息提示:这些状态代码表示临时的响应.客户端在收到常规响应之前,应准备接收一个或多个1xx响应. -继续. -切换协议. .2xx ...

  9. Hotfix

    http://group.jobbole.com/6311/ http://www.jianshu.com/p/6f0ae1e364d9 http://www.mamicode.com/info-de ...

  10. PKCS#1

    ASN.1 syntax,octet string是一个8 bytes sequence string. RSA中涉及到的Data conversion: 1)I2OSP,Integer to Oct ...