当前位置: 首页 > wzjs >正文

哪里有好看的网站阿里巴巴的网站二维码怎么做

哪里有好看的网站,阿里巴巴的网站二维码怎么做,怎样注册网站账号申请,wordpress网站转app插件下载JavaScript 进行 异步请求 的方式经历了多个阶段的发展,每个阶段都在解决上一阶段的问题,变得 更简洁、易用、强大。我们从 历史发展角度 来看,主要经历了以下几个阶段: 1️⃣ 早期阶段:XHR(XMLHttpRequest…

JavaScript 进行 异步请求 的方式经历了多个阶段的发展,每个阶段都在解决上一阶段的问题,变得 更简洁、易用、强大。我们从 历史发展角度 来看,主要经历了以下几个阶段:


1️⃣ 早期阶段:XHR(XMLHttpRequest)

📌 诞生背景

  • 1999 年 W3C 引入 XMLHttpRequest,是 AJAX(异步 JavaScript 和 XML) 的基础。
  • 主要用于 局部刷新页面,避免整个页面重新加载,提高用户体验。
  • 早期用于 XML 交互,后来也支持 JSON

🚀 示例代码

var xhr = new XMLHttpRequest();
xhr.open("GET", "https://api.example.com/data", true);
xhr.onreadystatechange = function () {if (xhr.readyState === 4 && xhr.status === 200) {console.log("响应数据:", xhr.responseText);}
};
xhr.send();

⚠️ 存在问题

回调地狱(Callback Hell)
❌ 代码 复杂冗长
不支持 Promise,难以链式调用
手动解析 JSON,容易出错

🔹 改进方向:封装 XHR (jQuery AJAX)


2️⃣ jQuery.ajax()(2006 年)

📌 诞生背景

  • jQuery 诞生(2006 年),封装了 XMLHttpRequest,让 AJAX 更简单
  • 降低 XHR 复杂度,支持 链式调用JSON 自动解析
  • 曾经是 最流行的前端 AJAX 方式,但后来逐渐被 fetch 取代。

🚀 示例代码

$.ajax({url: "https://api.example.com/data",method: "GET",dataType: "json",success: function (data) {console.log("数据:", data);},error: function (err) {console.error("请求失败:", err);}
});

⚠️ 存在问题

仍然基于回调,不能优雅地处理异步流程
依赖 jQuery,影响性能
不符合现代 JavaScript 原生标准

🔹 改进方向:Promise 取代回调地狱 (Fetch API)


3️⃣ Fetch API(2015 年,ES6+)

📌 诞生背景

  • ES6 及 ES7 提出了 Promise,解决了 回调地狱 问题。
  • Fetch API 诞生于 2015 年,是现代浏览器 原生支持 的异步请求方式。
  • 基于 Promise,支持链式调用,语法更加简洁。

🚀 示例代码

fetch("https://api.example.com/data").then(response => response.json())  // 解析 JSON.then(data => console.log("数据:", data)).catch(error => console.error("请求失败:", error));

✅ 优势

原生支持,无需第三方库
基于 Promise,语法简洁
支持多种数据格式(JSON、Blob、FormData)

⚠️ 存在问题

不支持超时控制(需要 AbortController
错误不会抛异常(需要 catch 处理)
不自动发送 Cookies(需要 credentials: "include"

🔹 改进方向async/await 让代码更直观 (Async/Await)


4️⃣ Async/Await(2017 年,ES8+)

📌 诞生背景

  • 2017 年 ES8 推出了 async/await,让异步代码写起来更像 同步代码
  • fetch 更易读,消除了 Promise 链式调用的复杂性

🚀 示例代码

async function fetchData() {try {let response = await fetch("https://api.example.com/data");let data = await response.json();console.log("数据:", data);} catch (error) {console.error("请求失败:", error);}
}fetchData();

✅ 优势

代码简洁,像写同步代码一样
更易读,避免 then() 链式嵌套
更容易处理错误(用 try/catch

⚠️ 存在问题

默认不支持超时控制,需要 AbortController
顺序执行多个请求时,可能会阻塞(需 Promise.all()

🔹 改进方向:提供更高级的功能 (Axios)


5️⃣ Axios(第三方库,2016 年发布)

📌 诞生背景

  • fetch 没有提供超时控制、自动 JSON 解析等功能,开发者需要自己封装。
  • Axios2016 年 发布,成为 最受欢迎的异步请求库,比 fetch 更强大
  • 基于 Promise,但提供了 更多功能(请求取消、超时、拦截器等)。

🚀 示例代码

axios.get("https://api.example.com/data").then(response => console.log("数据:", response.data)).catch(error => console.error("请求失败:", error));

🚀 使用 async/await

async function fetchData() {try {let response = await axios.get("https://api.example.com/data");console.log("数据:", response.data);} catch (error) {console.error("请求失败:", error);}
}fetchData();

✅ 优势

自动解析 JSON,不用手动 response.json()
支持超时控制(timeout 选项)
支持请求和响应拦截器
自动发送 Cookies(withCredentials: true
支持请求取消(CancelToken

⚠️ 存在问题

需要额外安装(不是浏览器内置)


🔚 总结:从 XHR 到 Axios

方式优点缺点适用场景
XHR (1999)早期异步请求基础代码复杂、回调地狱过时,不推荐使用
jQuery.ajax() (2006)更简洁的 XHR 封装依赖 jQuery,回调地狱适用于老旧项目
Fetch API (2015)原生支持,基于 Promise需手动处理超时、错误适用于现代前端开发
Async/Await (2017)代码更直观、同步化仍然需 fetch 配合适用于大多数异步操作
Axios (2016)自动解析 JSON、超时控制、拦截器需额外安装适用于企业级项目

📌 最佳实践

1️⃣ 如果是简单的前端请求 → 用 fetch + async/await
2️⃣ 如果需要超时控制、自动解析 JSON → 用 Axios
3️⃣ 如果是老项目jQuery.ajax()(但建议升级)
4️⃣ 不要再用 XHR(太古老了)

🚀 现代前端开发推荐 fetchAxios


文章转载自:

http://jwqsaFOs.bhjtL.cn
http://Zvstdzsi.bhjtL.cn
http://25amKpVd.bhjtL.cn
http://nvBcDjMt.bhjtL.cn
http://TUTxz1Qu.bhjtL.cn
http://riILGpaS.bhjtL.cn
http://Ex4FmbSw.bhjtL.cn
http://8Sx1Tj6o.bhjtL.cn
http://KmiLjDGQ.bhjtL.cn
http://68EUCMfe.bhjtL.cn
http://JengAjA5.bhjtL.cn
http://z4MUJxg8.bhjtL.cn
http://4YqH9oJW.bhjtL.cn
http://N4wc7HIW.bhjtL.cn
http://ofCfa5SL.bhjtL.cn
http://clF6rbIw.bhjtL.cn
http://Ea1FfGTS.bhjtL.cn
http://R2enlHAM.bhjtL.cn
http://qG6PKRBV.bhjtL.cn
http://mMBWteo6.bhjtL.cn
http://nJboLcwA.bhjtL.cn
http://PHdj6kyM.bhjtL.cn
http://PpdjjW6K.bhjtL.cn
http://LY9ss6sC.bhjtL.cn
http://mQjIa3w2.bhjtL.cn
http://1SUJxwWS.bhjtL.cn
http://jd72P9GS.bhjtL.cn
http://LjTU6SP0.bhjtL.cn
http://vCVlPKW1.bhjtL.cn
http://bGIkcNLQ.bhjtL.cn
http://www.dtcms.com/wzjs/609599.html

相关文章:

  • 公司需要一个简单的网站演讲网站开发背景
  • 2022建站市场pyton 网站开发
  • 如何免费做网站赚钱中国互联网协会会员单位
  • 智慧旅游网站开发与设计wordpress 浏览记录
  • 什么网站可以免费做护师题网站开发技术题目
  • 网站开发技术公司宁波网站建设哪里好
  • 设计响应式网站多少钱智能云建站平台
  • 帮企业做网站的网络广告案例
  • 一元购网站建设方案书无锡企业免费建站
  • 两学一做网站专题做曖免费网站
  • c2c的网站名称和网址主题网站建设
  • 包年seo和整站优化wordpress如何配置百度云cdn
  • 为什么自己做的网站uc打不开屏蔽wordpress google
  • 天水有做网站的地方吗芯片设计公司排名
  • 在线解压rar网站杭州网站定制开发哪家好
  • 优化网站是什么意思设计模板修饰演示文稿
  • 开发公司房子出售怎么不交税旺道seo优化软件怎么用
  • 百度官方网站登录html网页设计代码作业化妆品
  • 像素点建网站域名查询解析
  • 东莞企业网站制作网站开发 定制
  • 盗号网站怎么做培训网站建设的背景
  • 广东网站建设建站模板种子网站开发
  • 网站推广具体内容如何优化seo技巧
  • asp网站访问量大电子元器件网站怎么做
  • 自己做的php网站进行伪静态wordpress模板关系
  • php开发企业网站教程网站关键词方案
  • 同样是div 怎么有些网站收录少 有些多wordpress首页文章随机显示
  • 微信小程序企业网站电子商务网站的建设心得体会
  • 怎么做私人网站网站使用cookies
  • 百度 搜索热度企业整站优化