请说明Ajax、Fetch、Axios三者的区别

请说明Ajax、Fetch、Axios三者的区别
最新回答
天生萌货

2026-04-21 22:16:33

请说明Ajax、Fetch、Axios三者的区别

相信作为一名身经百战的前端,大家对Ajax、Fetch、Axios都是很了解的,但是三者具体的区别是什么?

对Ajax、Fetch、Axios不了解的菜逼柿子,只能扑街了。这里我们就先以了解的基础上说一说三者的区别

初级版区别

三者都用于网络请求,但是纬度不同。就像栈、队列、数组;栈、队列是一种逻辑结构,数组是一种数据结构;两个维度的东西。

Ajax(AsynchronousJavaScriptandXML(异步的JavaScript和XML)):一种技术统称。

AJAX不是新的编程语言,而是一种使用现有标准的新方法。它是随着web2.0逐渐流行开来的

Fetch:是一个具体的api

提供了一个JavaScript接口,用于访问和操纵HTTP管道的一些具体部分,例如请求和响应

Axios:是一个第三方库https://axios-http.com/docs/intro

进阶使用XMLHttpRequest实现Ajax

这是一个非常基础的题目,就不做介绍了,直接上代码了

/****@param{*}url请求地址*@param{*}successFn回调参数*/functionmockAjax(url,successFn){constxhr=newXMLHttpRequest()xhr.open("GET",url,false)xhr.onreadystatechange=()=>{if(xhr.readyState==4){if(xhr.status==200){successFn(xhr.responseText)}}}xhr.send(null)}

这里我们是使用XMLHttpRequest实现Ajax,XMLHttpRequest其实也是类似Fetch一样的全局api

Fetch

浏览器原生API,用于网络请求

和XMLHttpRequest一个级别的,都是api

Fetch语法更加简洁,易用,支持Promise

代码演示functionajax2(url){returnfetch(url).then(res=>res.json())}

果然是后出的东西更好用一点是不是。。。哈哈哈哈

我们既可以使用XMLHttpRequest实现Ajax,也可以使用Fetch实现Ajax;所以Ajax是一种技术统称,但是请注意XMLHttpRequest、Fetch是一种基础API

Axios

最常用的网络请求库(随着Vue火爆起来)

内部可用XMLHttpRequest、Fetch来实现

第三方库https://axios-http.com/docs/intro

划重点了(咳咳咳)

其实讲到这里了Ajax、Fetch、Axios三者的区别打击都应该知道该怎么回答了

Ajax技术统称

Fetch原生API

Axios第三方库他们都是和网络请求有关系的东西,就是不同维度

原文:https://juejin.cn/post/7103136454267633678