axios、ajax、fetch三者的区别

1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新优缺点:1)局部更新2)原生支持,不需要任何插件3)原生支持,不需要任何插件4)可能破坏浏览器后退功能5)嵌套回调,难以处理2.axios:是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中特点:1)从浏览器中创建 XMLHttpRequests2)从 node.js 创建 http 请求3)支持 Promise API4)拦截请求和响应5)转换请求数据和响应数据6)取消请求7)自动转换 JSON 数据8)客户端支持防御 XSRF3.fetch:使用了ES6中的promise对象。Fetch是基于promise设计的。Fetch函数就是原生js,没有使用XMLHttpRequest对象。优缺点:1)更加底层,提供的API丰富(request, response)2)脱离了XHR,是ES规范里新的实现方式3)fetch是一个低层次的API,你可以把它考虑成原生的XHR,所以使用起来并不是那么舒服,需要进行封装4)fetch只对网络请求报错,对400,500都当做成功的请求,需要封装去处理5)fetch默认不会带cookie,需要添加配置项6)fetch不支持abort,不支持超时控制,使用setTimeout及Promise.reject的实现的超时控制并不能阻止请求过程继续在后台运行,造成了流量的浪费7)fetch没有办法原生监测请求的进度,而XHR可以

相关文章