1.ajax:是指一种创建交互式网页应用的网页开发技术,并且可以做到无需重新加载整个网页的情况下,能够更新部分网页,也叫作局部更新 优缺点: 1)局部更新 2)原生支持,不需要任何插件 3)原生支持,不需要任何插件 4)可能破坏浏览器后退功能 5)嵌套回调,难以处理 2.axios:是一个基于 promise 的 HTTP 库,可以用在浏览器和 node.js 中 特点: 1)从浏览器中创建 XMLHttpRequests 2)从 node.js 创建 http 请求 3)支持 Promise API 4)拦截请求和响应 5)转换请求数据和响应数据 6)取消请求 7)自动转换 JSON 数据 8)客户端支持防御 XSRF 3.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可以
原文地址:https://www.cnblogs.com/ray123/p/11225847.html
时间: 2024-10-09 20:35:45