Axios

摘要:
a、 从浏览器创建XMLHttpRequest。b.从node.js发出http请求。c.支持PromiseAPI。e.拦截请求和响应。f.转换请求和响应数据。g.取消请求。h.自动转换JSON数据。i.客户端支持防止CSRF/XSFpromise:这些接口的参数需要其他接口作为依赖项返回的数据。

axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端。简单的理解就是ajax的封装

它本身具有以下特征:

     a.从浏览器中创建 XMLHttpRequest
     b.从 node.js 发出 http 请求
     c.支持 Promise API
     e.拦截请求和响应
     f.转换请求和响应数据
    g.取消请求
    h.自动转换JSON数据
    i.客户端支持防止 CSRF/XSRF

promise是什么:是一个对象用来传递异步操作的信息,它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的api,可供进一步的处理。

promise的作用:Promise的出现主要是解决地狱回调的问题,比如你需要结果需要请求很多个接口,这些接口的参数需要另外那个的接口返回的数据作为依赖,这样就需要我们一层嵌套一层,但是有了Promise 我们就无需嵌套。

promise的本质是什么:分离异步数据获取和业务


基本使用方法:

axios执行GET请求

 
Axios第1张
GET 请求方法

执行POST请求

 
Axios第2张
POST请求方法

执行多个并发请求

 
Axios第3张
多个并发请求

get和post都是基于promise的所以写法上很相似,是用then和catch,使用这种方法来进行发送请求。

还有一个axios重要的知识点就是拦截器

拦截器

在请求或响应被 then 或 catch 处理前拦截它们(拦截器可以做什么:在请求或者响应时拦截下来进行处理)

拦截器分为请求拦截器和响应拦截器

请求拦截器(interceptors.requst)是指可以拦截每次或指定HTTP请求,并可修改配置项。

响应拦截器(interceptors.response)可以在每次HTTP请求后拦截住每次或指定HTTP请求,并可修改返回结果项。

 
Axios第4张
拦截器的写法

拦截器的工作流程:

 
Axios第5张
拦截器工作流程

移除拦截器

 
Axios第6张
移除拦截器

自定义 axios 实例添加拦截器

 
Axios第7张
添加拦截器

取消

使用 cancel token 取消请求

可以使用 CancelToken.source 工厂方法创建 cancel token

参考资料:axios中文文档



 
 
本文有所借鉴
简书大神连接 :https://www.jianshu.com/p/13cf01cdb81f

CSDN大神连接:https://blog.csdn.net/gao_xu_520/article/details/79726298

免责声明:文章转载自《Axios》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java 网络爬虫获取页面源代码基础树上问题 P5836 [USACO19DEC]Milk Visits S【并查集进行图的染色】下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

命名空间“System.Windows”中不存在类型或命名空间名“Forms”(是否缺少程序集引用?) ——c#

原因: 新建项目为类库时,项目不会自动引用System.Windows.Forms,当我们使用命名空间System.Windows.Forms时,就会报这个错误 解决方法: 右键引用——添加引用——框架——搜索System.Windows.Forms添加即可...

validateRequest 相关的作用

在 Web 应用程序中,要阻止依赖于恶意输入字符串的黑客攻击,约束和验证用户输入是必不可少的。跨站点脚本攻击就是此类攻击的一个示例。其他类型的恶意数据或不需 要的数据可以通过各种形式的输入在请求中传入。通过在应用程序中的较低级别限制允许通过的数据类型,就可以阻止不希望的事件,即使当使用代码的程序员没有 恰当地使用合适的验证技术时也是如此。 当请求验证检测到潜...

jQuery.ajax() datatype:“json" 转换失败

当使用jQuery.ajax() 时,如果设置dataType:"json",如果返回的字符转换出错则不会调用success方法,而进入error方法,控制台中也不会出现错误信息 如果没有定义error方法,则$.ajax()会默默的结束。 为了避免这种现象出现:   1.写$.ajax()时定义error方法,对错误进行处理。   2.服务器端生成jso...

[Swift]遍历集合类型(数组、集合和字典)

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/ )➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://...

java中终止线程的三种方式

在java中有三种方式可以终止线程。分别为:   1.  使用退出标志,使线程正常退出,也就是当run方法完成后线程终止。      2.  使用stop方法强行终止线程(这个方法不推荐使用,因为stop和suspend、resume一样,也可能发生不可预料的结果)。        3.  使用interrupt方法中断线程。 下面我们来详细的介绍这三种方...

Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法

原文:http://czjxdm.iteye.com/blog/466948 Oracle字段转字符串/多行记录合并/连接/聚合字符串的几种方法 博客分类:技术文章 OracleSQL  怎么合并多行记录的字符串,一直是oracle新手喜欢问的SQL问题之一,关于这个问题的帖子我看过不下30个了,现在就对这个问题,进行一个总结。    什么是合并多...