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

基础01-ajax fetch axios 的区别

ajax fetch axios 的区别

题目

ajax fetch axios 的区别

分析

三者根本没有可比性,不要被题目搞混了。要说出他们的本质

传统 ajax

AJAX (几个单词首字母,按规范应该大写) - Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)

即使用 JS 进行异步请求,是 Web2.0 的技术基础,从 2005 年左右开始发起。

所以,这里的 AJAX 就是一个称呼,一个缩写。

基于当时 JS 规范,异步请求主要使用 XMLHttpRequest 这个底层 API 。

所以,有一道常考的面试题:请用 XMLHttpRequest 实现 ajax

function ajax(url, successFn) {const xhr = new XMLHttpRequest()xhr.open("GET", url, false)xhr.onreadystatechange = function () {// 这里的函数异步执行,可参考之前 JS 基础中的异步模块if (xhr.readyState == 4) {if (xhr.status == 200) {successFn(xhr.responseText)}}}xhr.send(null)
}

fetch

fetch 是一个原生 API ,它和 XMLHttpRequest 一个级别。

fetch 和 XMLHttpRequest 的区别

  • 写法更加简洁
  • 原生支持 promise

面试题:用 fetch 实现一个 ajax

function ajax(url) {return fetch(url).then(res => res.json())
}

axios

axios 是一个第三方库,随着 Vue 一起崛起。它和 jquery 一样(jquery 也有 ajax 功能)。

axios 内部可以用 XMLHttpRequest 或者 fetch 实现。

答案

  • ajax 是一种技术称呼,不是具体的 API 和库
  • fetch 是新的异步请求 API ,可代替 XMLHttpRequest
  • axios 是第三方库

划重点

  • 注意 库 和 API 的区别
  • 库有很多个,api只有那么几个
  • 实际项目要用库,尽量不要自己造轮子(除非有其他目的)

思考

库 和 框架 有什么区别?

参考资料:网络

http://www.lryc.cn/news/34323.html

相关文章:

  • Android Execution failed for task ‘:app:mergeDebugJavaResource
  • spring事物源码分析
  • 炫龙游戏本Win10系统总是蓝屏崩溃怎么办?
  • 华为OD机试题,用 Java 解【数字加减游戏】问题
  • C++ 手写一个高性能json生成与解析器
  • java——了解反射
  • The Sandbox 中的独特体验——《奥米加》
  • 76 Python写入csv文件时出现空行_newline参数解决
  • 高等数学——定积分和不定积分
  • imx6 usb增强信号强度
  • 深入理解性能压测工具原理
  • Java的概述和运行方式
  • 【C语言】每日刷题 —— 牛客
  • JavaEE课程实践-Servlet的部署(tomcat服务器)
  • Java 中的拆箱和装箱
  • 从0开始自制解释器——实现多位整数的加减法计算器
  • (12)C#传智:File类,泛型,字典,FileStream,StreamReader,多态
  • Dubbo的服务暴漏与服务发现源码详解
  • Python 的IDE——PyCharm
  • 01 C语言使用链表实现队列(Queue、FIFO)模块
  • 2.2操作系统-进程管理:前趋图、前趋图与PV操作
  • 凤凰游攻略
  • Nginx 高可用方案
  • Linux基本指令
  • Linux系统基础命令(二)
  • 【C++】C++11——简介|列表初始|简化声明|nullptr与范围for|STL中的变化
  • Python -- 函数
  • Pytorch中utils.data 与torchvision简介
  • 学习 Python 之 Pygame 开发魂斗罗(十)
  • Keepalive+LVS群集部署