1.工作原理
Ajax的原理简单来说通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据,然后用javascript来操作DOM而更新页面。XMLHttpRequest是ajax的核心机制,它是在IE5中首先引入的,是一种支持异步请求的技术。简单的说,也就是javascript可以及时向服务器提出请求和处理响应,而不阻塞用户。达到无刷新的效果。
2.封装步骤
a.创建xhr对象 var xhr = new XMLHttpRequest();
b.初始化xhr对象 xhr.open(method,url)
c.向服务器发送数据,调用send方法 xhr.send()
d.数据正在传输 xhr.onreadystatechange = function(){}
e.数据传输完毕后,根据response获取返回数据
3.ajax、axios、fetch之间的详细区别以及优缺点
ajax缺点:针对MVC编程,现在主流的设计模式是MVVM;调用方式混乱,架构不清晰
axios优缺点: 从node.js 创建 http 请求;支持Promise API;提供了一些并发请求的接口
fetch优缺点:更好更方便的写法;符合关注分离思想;更加底层,api丰富;
为什么要用axios?
axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端,它本身具有以下特征:
从浏览器中创建 XMLHttpRequest
从 node.js 发出 http 请求
支持 Promise API
拦截请求和响应
转换请求和响应数据
取消请求
自动转换JSON数据
客户端支持防止CSRF/XSRF