面试题:Ajax、Fetch、Axios三者的区别

article/2025/9/16 21:31:51

Ajax

它的全称是:Asynchronous JavaScript And XML,翻译过来就是“异步的 Javascript 和 XML”。

Ajax 是一个技术统称,是一个概念模型,它囊括了很多技术,并不特指某一技术,

Ajax 是一种思想,XMLHttpRequest 只是实现 Ajax 的一种方式。很重要的特性之一是让页面实现局部刷新,无需重载整个页面。

const SERVER_URL = "/server";
let xhr = new XMLHttpRequest();
// 创建 Http 请求
xhr.open("GET", SERVER_URL, true);
// 设置状态监听函数
xhr.onreadystatechange = function() {if (xhr.readyState !== 4) return;// 当请求成功时if (xhr.status === 200 || xhr.status === 304) {console.log(xhr.responseText);} else {console.error(xhr.statusText);}
};
// 发送 Http 请求
xhr.send();
//使用Promise封装AJAX请求
const getJSON = function (url) {return new Promise((resolve, reject) => {const xhr = new XMLHttpRequest();xhr.open("GET", url, false);xhr.setRequestHeader("Content-Type", "application/json");xhr.onreadystatechange = function () {if (xhr.readyState !== 4) return;if (xhr.status === 200 || xhr.status === 304) {resolve(xhr.responseText);} else {reject(new Error(xhr.responseText));}};xhr.send();});
};

Fetch

Fetch 是一个 API,它是真实存在的,它是基于 promise 的。fetch是原生js,没有使用XMLHttpRequest对象

<body><script>function ajaxFetch(url) {fetch(url).then(res => res.json()).then(data => {console.info(data)})}ajaxFetch('https://smallpig.site/api/category/getCategory')</script>
</body>
  • fetch只对网络请求报错,对400、500都当成成功的请求,需要封装去处理
  • fetch默认不会带cookie,需要添加配置项
  • fetch不支持 abort(中止) 、不支持超时控制,使用setTimeout及Promise.reject实现的超时控制并不能阻止请求过程继续在后台运行,造成了量的浪费
  • fetch不能原生检测请求的进度,而XHR可以

Axios

Axios 是一个基于 promise 网络请求库,作用于node.js 和浏览器中。 

在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。

特点:

  • 从浏览器中创建 XMLHttpRequests
  • 从 node.js 创建 http 请求
  • 支持 Promise API
  • 拦截请求和响应
  • 转换请求数据和响应数据
  • 取消请求
  • 自动转换 JSON 数据
  • 客户端支持防御 XSRF

 


http://chatgpt.dhexx.cn/article/wIuI57bO.shtml

相关文章

最新最全的前端面试题集锦之 Ajax、Fetch、Axios 篇

该内容主要整理关于 Axios 的相关面试题&#xff0c;其他内容面试题请移步至 2021 最新最全的前端面试题集锦 查看。 目录 一、Ajax 相关面试题1、概念2、作用3、创建 Ajax4、Ajax 状态和 HTTP 状态码5、Ajax 中常用的属性和方法6、思考&#xff1a;post 和 get 有什么区别 二、…

【面试题】Ajax

1. Ajax请求 1.1 get请求方式 const xml new XMLHttpRequest() xml.open("get", "test.json", true) xml.send(null) xml.onreadystatechange function(){if(xml.readyState 4 && xml.status 200){console.log(JSON.parse(xml.responseTe…

AJAX常见面试题,面试必备

什么是AJAX&#xff0c;为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。、 客户端与服务器&#xff0c;可以在【不必刷新整个浏览器】的情况下&#xff0c;与服务器进行异步通讯的技术 AJAX应用和传统Web…

Ajax和Axios相关面试题总结

文章目录 Ajax和Axios1.同步请求和异步请求2.fetch、axios、jquery的ajax用法3.JS跨域资源共享&#xff08;CORS问题&#xff09;4.Ajax 解决浏览器缓存问题5.ajax 返回的状态6.实现一个 Ajax7.如何实现 ajax 请求&#xff0c;假如我有多个请求&#xff0c;我需要让这些 ajax 请…

面试题 —— Ajax的基本原理总结

前两天面试的时候&#xff0c;面试官问我&#xff0c;你掌握的技能是Ajax&#xff0c;那你给我讲一下它的基本原理吧&#xff01; 妈呀&#xff0c;瞬间脑子空白。当时在门口背了好久的网络知识点&#xff0c;一时竟然说不吃话&#xff0c;只记得什么异步通信&#xff0c;同步数…

AJAX常见面试题(修订版)

前言 只有光头才能变强。 文本已收录至我的GitHub仓库&#xff0c;欢迎Star&#xff1a;https://github.com/ZhongFuCheng3y/3y AJAX常见面试题 什么是AJAX&#xff0c;为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网…

AJAX面试题都在这里

AJAX常见面试题 什么是AJAX&#xff0c;为什么要使用Ajax AJAX是“Asynchronous JavaScript and XML”的缩写。他是指一种创建交互式网页应用的网页开发技术。、 客户端与服务器&#xff0c;可以在【不必刷新整个浏览器】的情况下&#xff0c;与服务器进行异步通讯的技术 AJAX应…

SQL Server2016安装教程

安装前先关闭杀毒软件和360卫士&#xff0c;注意安装路径不能有中文&#xff0c;安装包路径也不要有中文。 注意&#xff1a;安装过程需要电脑连接网络&#xff0c;中途不能断网。 说明&#xff1a;需要安装SQL全部功能则需要先安装JDK&#xff0c;若只需要安装数据库功能的话则…

SQLServer2019安装教程

有手就行的SQL Server 2019超超超超级详细安装教程&#xff0c;你学会了吗&#xff1f; 1. 百度搜索SQL Server进入官网 https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2. 进入首页后鼠标下滑可以看见两个免费版本的sql server&#xff0c;选择需要的版…

SQL server 2017安装教程

✅作者简介&#xff1a;CSDN内容合伙人、阿里云专家博主、51CTO专家博主&#x1f3c6; &#x1f4c3;个人主页&#xff1a;hacker707的csdn博客 &#x1f525;系列专栏&#xff1a;实用工具&#x1f947; &#x1f4ac;个人格言&#xff1a;不断的翻越一座又一座的高山&#xf…

SqlServer2019安装教程-基本安装

SqlServer2019安装教程-自定义安装&#xff1a;https://blog.csdn.net/qq_33556442/article/details/100885939 下载SQL Server 2019 Release Candidate https://www.microsoft.com/en-us/evalcenter/evaluate-sql-server-2019-rc/ 1.点击【Continue】 2.填写资料再点击【Co…

SQL Server 2016下载及安装教程

目录 一、下载 1.sql server 2016安装包与sp2补丁 ​编辑2.管理工具 二、安装 1.sql server2016 2.补丁SP2安装 三、用管理工具连接sql 一、下载 1.sql server 2016安装包与sp2补丁 下载链接在评论中 2.管理工具 下载链接在评论中 二、安装 1.sql server2016 选中下…

SQL Server2008安装详细教程

1.将光盘文件解压成文件夹格式&#xff0c;&#xff08;解压过程比较慢&#xff0c;请耐心等待&#xff09;&#xff1b; 2.打开开始菜单的设置&#xff1b; 3.打开设置后&#xff0c;点击更新和安全&#xff0c;然后进入&#xff1b; 4.在Windows安全中心&#xff0c;将…

Sql Server 2019 详细安装教程

Sql Server 2019 详细安装教程 安装完成后校验准备需要设备检查.NET 35 环境自定 jdk 下载 安装完成后校验 该步骤请在以下步骤全部操作完成后再看 参考链接&#xff1a;Sql Server 2019 完成安装后检验使用 准备 需要设备 WIN 10 电脑一台 检查.NET 35 环境 检查.NET35…

【数据库】SQL Server2022安装教程

大家好&#xff0c;我是雷工&#xff01; 最近需要安装SQLServer数据库&#xff0c;此次安装的是sql_server_2022_developer版本&#xff0c;以下记录安装及配置过程。大家可以参考指正。 一、安装SQL Server步骤&#xff1a; 1、官网下载 SQL Server 2022 Developer。 2、打…

SQLServer安装教程(史上最详细版本)

下载 安装包已上传至百度网盘&#xff0c;安装包里已含注册码&#xff0c;下载地址&#xff08;含注册码&#xff09; 链接&#xff1a;https://pan.baidu.com/s/147YRI7DdCqTOTKfe9UNtiA 提取码&#xff1a;6txl 安装过程 1.选择解压目录 2.解压完成后&#xff0c;进入解压…

SQL Server 2008R2安装详细教程(附安装包)

许多人都在苦恼如何安装SQL server&#xff0c;或者找不着安装包&#xff0c;那么这篇文章将带您避坑&#xff0c;解决您的烦恼 安装包如下&#xff1a; 云盘链接&#xff1a; 嗨&#xff0c;请点击我&#xff01;http://pan.baidu.com/s/1_7sQ9Eky2mGogKe4W0A_6Q 提取码&#…

SQL Server安装下载教程

SQL Server安装下载教程 一、官网下载二、安装1.运行安装包&#xff0c;选择安装类型是“基本”2.选择语言3.选择安装路径4.继续安装SSMS 三、基础配置1.打开SQL Server 2019 配置管理器2.选择SQL Server 网络配置-->MSSQLSERVER的协议-->TCP/IP&#xff0c;启动它3.打开…

SQL Server 2019安装教程(图文)

本章教程&#xff0c;介绍一下SQL Server 2019的安装过程。 SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点。Microsoft SQL Server 是一个全面的数据库平台&#xff0c;使用集成的商业智能 (BI)工具提供了企业级的…

SQL Server 2019下载及安装教程

目录 一、下载 1.sql server 2019安装包 2.管理工具 二、安装 1.sql server2019 2.安装管理工具 三、用管理工具连接sql 一、下载 1.sql server 2019安装包 链接&#xff1a;https://pan.baidu.com/s/1je-24NywXCnFL0OTAMbg2w?pwd2vtv 提取码&#xff1a;2vtv 2.管理…