一文详解fetch,ajax,axios的区别以及使用_javascript技巧

fetch,ajax,axios这些都是发起前端请求的工具,除了这些外还有jquery的$.ajax。ajax和$.ajax都是基于XMLHttpRequest。

XMLHttpRequest是一种在浏览器中用于与服务器进行异步通信的对象,它是实现 AJAX(Asynchronous JavaScript and XML,异步的 JavaScript 与 XML 技术)的核心。通过 XMLHttpRequest,可以在不刷新整个页面的情况下与服务器交换数据并更新部分网页内容。而jquery的$.ajax简化了XMLHttpRequest的使用。

ajax:是最早用于实现异步数据交互的技术,出现时间较早。兼容性非常好,能在所有主流浏览器(包括一些较旧版本的浏览器)中使用。

fetch:是 ES6 引入的新的 API,现代浏览器基本都支持,但在一些旧版本浏览器中需要使用 polyfill 来实现兼容。

axios:是一个基于promise的 HTTP 客户端,用于浏览器和 Node.js。由于是第三方库,使用时需要引入,不过它通过内部处理兼容了不同浏览器,也能在 Node.js 环境使用。

这里使用express框架创建一个简单的node服务,里面有一个接口,以便演示使用。

创建好项目文件夹后在cmd里面输入命令

npm i express

使用cors中间件来配置跨域,安装命令

// 引入 express 模块const express = require('express');// 引入 cors 模块const cors = require('cors'); // 创建 express 应用实例const app = express();// 定义端口号const port = 3000; // 配置 cors 中间件,允许来自 8080 端口的跨域请求const corsOptions = { origin: 'http://localhost:8080',};app.use(cors(corsOptions)); // 定义一个 GET 请求的接口app.get('/api/data', (req, res) => { // 定义要返回的数据 const data = { message: '接口的数据', list: [1, 2, 3] }; // 设置响应头,指定返回的数据格式为 JSON res.setHeader('Content-Type', 'application/json'); // 发送 JSON 数据作为响应 res.send(JSON.stringify(data));}); // 启动服务器,监听指定端口app.listen(port, () => { console.log(`服务器正在运行,访问地址为 http://localhost:${port}/api/data`);});

打开终端输入node app.js 启动,看到这个表示成功了,点击地址可以看到接口返回的数据

运行结果,打印可以看到已经拿到了接口的数据了,在浏览器网络中也可以看到请求已经成功了

axios是第三方库,在使用前需要安装,命令

 axios在实际开发中用的比较多,这里在演示下axios发put,post,delete请求。首先修改下后端代码,添加上put,post,delete接口。(修改完代码后记得重启下--在执行一次node app.js)

运行效果,从打印结果可以看到调用接口的时候数据发生了变化

到此这篇关于fetch,ajax,axios的区别以及使用的文章就介绍到这了,更多相关fetch,ajax,axios区别及使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!


本文地址: https://www.earthnavs.com/jishuwz/c3edb31c7e2bb94e54ec.html
全局中部横幅
腾讯元宝

腾讯元宝是基于腾讯混元大模型的AI应用,可以帮你写作绘画文案翻译编程搜索阅读总结的全能助手

CSDN

CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客、精品问答、职业培训、技术论坛、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区.

笔点

笔点(www.bidianer.com)是一个简洁的网址导航网站。你可以自定义上网常用网址、自定义你需要的工具模块。你还可以发现、收集、分享,Web开发、设计工作中的优质资源、干货。

少数派

少数派致力于更好地运用数字产品或科学方法,帮助用户提升工作效率和生活品质

百度热搜

百度热搜以数亿用户海量的真实数据为基础,通过专业的数据挖掘方法,计算关键词的热搜指数,旨在建立权威、全面、热门、时效的各类关键词排行榜,引领热词阅读时代。

【汽车论坛】汽车社区

汽车之家论坛,全球最大汽车论坛,助力全球车友交流提车经历,用车感受,车友会活动,维修保养经验,自驾游等,更有媳妇当车模,美人生活秀,论坛红人馆等专题,精彩汽车内容尽在汽车之家

中国新闻网

中国新闻网,是知名的中文新闻门户网站,也是全球互联网中文新闻资讯最重要的原创内容供应商之一。依托中新社遍布全球的采编网络,每天24小时面向广大网民和网络媒体,快速、准确地提供文字、图片、视频等多样化的资讯服务。在新闻报道方面,中新网动态新闻及时准确,解释性报道角度独特,稿件被国内外网络媒体大量转载。

URLOS

基于容器技术的新一代主机管理系统,将网站、小程序和APP等应用运行在多台主机上,弹性加减硬件,单机故障不影响在线业务。

云服务器

奇异互动提供专业的云服务器,云虚拟主机,香港VPS,独立服务器,裸金属服务器,面向全球客户提供基于云计算的IT解决方案与客户服务,是国内专业的云服务器,云虚拟主机,香港VPS,独立服务器,裸金属服务器,基础设施服务提供商。

山东欣烨生物

山东欣烨生物科技有限公司集科研,生产,销售N-乙烯基吡咯烷酮,聚维酮k30;聚乙烯吡咯烷酮,对苯二酚,乙醇钠,丁酰肼原药,固体甲醇钠对苯二酚,异戊烯醛,异戊烯醇321,防黄剂,丁酰肼原药,固体甲醇钠,甲醇钠溶液,乙醇钠溶液,丁酰肼原药,甲醇钠溶液,乙醇钠溶液,异戊烯醇,3-甲基-2-丁烯醇,异佛尔酮,无水叔丁醇,2-氨基-5-溴苯甲酸,异戊烯醛,酚醛树脂等产品