数据请求中Ajax、Fetch以及Axios的区别

2023-01-03 0 481

Ajax如是说

Ajax是XMLHttpRequest 第一类提供更多了对 HTTP 协定的全然的出访,晚期的工程项目,他们根本无法透过它向服务器端允诺统计数据,主要包括JqueryPCB的Ajax允诺库也是如前所述它的PCB

他们上看呵呵如前所述XMLHttpRequest第一类去做两个Ajax允诺的案例

// 透过XMLHttpRequest调用两个Ajax允诺示例 const xhr = new XMLHttpRequest(); // 增设延时天数,0则表示终将延时 xhr.timeout = 0; // 调用允诺,那个方式不能推送允诺给服务器端 // 第二个模块是允诺的方式,比如GET、POST // 第三个模块,服务器端允诺的url // 第三个模块,允诺是不是触发器,预设为true触发器 xhr.open(POST, /api/url, true); // 允诺须要传输的统计数据 const formData = newFormData(); formData.append(“username”, “XXX”); formData.append(“age”, 18); // 允诺发动 xhr.send(formData); // 窃听允诺结论 // 领到服务器回到的统计数据 xhr.onreadystatechange = function () { // 当readyState为4因此xhr.status为200时 // 领到了恒定回到的统计数据 if(xhr.readyState ==4 && xhr.status == 200) { alert(xhr.responseText); } else { // 服务器回到了极度统计数据alert(xhr.statusText); } };

从上面的案例可以看出来,他们要想允诺统计数据,须要先new XMLHttpRequest示例出来,然后再透过兼听函数的方式来领到服务器回到的统计数据

Fetch如是说

Fetch是window第一类提供更多的两个方式,用于实现如前所述promise的http允诺,它的出现是用来取代最早的XMLHttpRequest实现的ajax允诺

同样的他们先上看呵呵Fetch允诺的示例

// 允诺的统计数据 const data = { username: “xxx”, age: 18, }; // 第二个模块是允诺的url // 第三个模块是两个第一类 // 可以增设允诺方式,允诺统计数据、允诺延时 // 还有允诺头等 fetch(“/api/url”, { // 允诺方式 method: “POST”, // 允诺统计数据透过body传递 body: JSON.stringify(data), }).then((response) => { // 恒定服务回到的统计数据透过then领到 console.log(response); }).catch((error) => { // 极度回到在catch里处理 console.log(error); });

从上面的案例可以看出来,他们要想允诺统计数据,直接使用fetch这样的全局第一类就行,然后再透过Promise的方式来领到服务器回到的统计数据

Axios如是说

Axios并不是原生Js提供更多的方式,它是两个如前所述XMLHttpRequestPCB的Ajax允诺库,因此把服务器回到的统计数据透过Promise的方式回到

还是老规矩,他们透过两个案例上看看Axios是怎么允诺统计数据的

// 首先透过npm安装axios npm i -S axios // 透过import的方式在工程项目中引入axios import axios from axios // 他们可以看到模块是两个第一类 //里面可以增设允诺方式、允诺统计数据// 还有允诺头等 axios({ method: “POST”, url: “/api/url”, data: { username: “xxx”, age:18, }, }).then((response) => { // 恒定服务回到的统计数据透过then领到 console.log(response); }).catch((error) => { // 极度回到在catch里处理 console.log(error); });

从上面的案例可以看出来,他们要想允诺统计数据,使用方式基本上和Fetch保持一致,但是它的底层确是如前所述XMLHttpRequest实现的

总结

他们在实际工程项目中一般使用axios,因为它是两个成熟的ajax允诺库,帮他们PCB了很多实用的方式来向服务器允诺统计数据

好了开发中,常用的服务器统计数据允诺就讲到这了

觉得效果不错的请帮忙加个关注点个赞,经常分享前端实用开发技巧

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务