电子商务网站建设与管理的学后感,建站平台哪个好,山东省城乡建设厅官网,广告公司主要是做什么的省流读法
ajax是js异步技术的术语#xff0c;早期相关的api是xhr#xff0c;它是一个术语。 fetch是es6新增的用于网络请求标准api#xff0c;它是一个api。 axios是用于网络请求的第三方库#xff0c;它是一个库。
1.Ajax
它的全称是#xff1a;Asynchronous JavaScri…省流读法
ajax是js异步技术的术语早期相关的api是xhr它是一个术语。 fetch是es6新增的用于网络请求标准api它是一个api。 axios是用于网络请求的第三方库它是一个库。
1.Ajax
它的全称是Asynchronous JavaScript And XML翻译过来就是“异步的 Javascript 和 XML”。 很多小伙伴可能会误以为 Ajax 是发请求的一种方式或者把XMLHttpRequest 与 Ajax 划等号其实这是错误和片面的。
正解 Ajax 是一个技术统称是一个概念模型它囊括了很多技术并不特指某一技术它很重要的特性之一就是让页面实现局部刷新。 特点 局部刷新页面无需重载整个页面。 简单来说Ajax 是一种思想XMLHttpRequest 只是实现 Ajax 的一种方式。其中 XMLHttpRequest 模块就是实现 Ajax 的一种很好的方式这也是很多面试官喜欢让面试者手撕的代码之一。 利用 XMLHttpRequest 模块实现 Ajax。
XMLHttpRequest示例代码
bodyscriptfunction ajax(url) {const xhr new XMLHttpRequest();xhr.open(get, url, false);xhr.onreadystatechange function () {// 异步回调函数if (xhr.readyState 4) {if (xhr.status 200) {console.info(响应结果, xhr.response)}}}xhr.send(null);}ajax(https://smallpig.site/api/category/getCategory)/script
/body
2.Fetch
Fetch 是在 ES6 出现的它使用了 ES6 提出的 promise 对象。它是 XMLHttpRequest 的替代品。 很多小伙伴会把它与 Ajax 作比较其实这是不对的我们通常所说的 Ajax 是指使用 XMLHttpRequest 实现的 Ajax所以真正应该和 XMLHttpRequest 作比较。
正解 Fetch 是一个 API它是真实存在的它是基于 promise 的。 特点 使用 promise不使用回调函数。 采用模块化设计比如 rep、res 等对象分散开来比较友好。 通过数据流对象处理数据可以提高网站性能。 所以这里就和 Ajax 又很大不同了一个是思想一个是真实存在的 API不过它们都是用来给网络请求服务的我们一起来看看利用 Fetch 实现网络请求。
fetch示例代码
bodyscriptfunction ajaxFetch(url) {fetch(url).then(res res.json()).then(data {console.info(data)})}ajaxFetch(https://smallpig.site/api/category/getCategory)/script
/body上段代码利用 Fetch 发送了一个最简单的 get 请求其中最重要的特点之一就是采用了.then 链式调用的方式处理结果这样不仅利于代码的可读而且也解决了回调地狱的问题。
3.axios
Axios 是用于发出网络请求的第三方 HTTP 客户端库。绝大部分使用基于xhr封装截止文章编写时间也已经支持fetch可以在浏览器和 Node.js 中使用。它提供了更高级别的封装使发送请求和处理响应更加简单和灵活。axios 支持以简洁的方式设置请求参数、处理请求和响应拦截器并提供了更好的错误处理和取消请求的支持。
正解 Axios 是用于发出网络请求的第三方 HTTP 客户端库。 特点 使用 Promise 对象来处理异步请求的结果可以更加方便地进行链式调用和错误处理。 axios示例代码
axios.get(https://api.example.com/data).then(function(response) {console.log(response.data);}).catch(function(error) {console.log(error);});
总结 ajax是js异步技术的术语早期相关的api是xhr它是一个术语。 fetch是es6新增的用于网络请求标准api它是一个api。 axios是用于网络请求的第三方库它是一个库。 易混淆点以及注意点
xhr是ajax的一种实现fetch应该和xhr作比较不能和ajax和axios做比较axios和fetch都基于promisefetch使用了关注分离的设计思想请求和响应结果分开处理axios目前也支持fetch