Ajax和Axios的区别及优缺点
Ajax和Axios是用于进行异步通信的工具,用于向服务器发送请求并获取数据。它们有一些区别和各自的优缺点。
Ajax
什么是Ajax?
Ajax是对原生XMLHttpRequest的封装,用于实现异步的JavaScript和XML,通过无刷新更新数据从而提高用户体验。
属性:url、method、dataType、beforeSend、success、error…
Ajax的原理?
由客户端请求Ajax引擎,再由Ajax引擎请求服务器,服务器作出一系列响应之后返回给Ajax引擎,由Ajax引擎决定将这个结果写入到客户端的什么位置。实现页面无刷新更新数据。
核心对象
XMLHttpRequest
Ajax优缺点
优点:
- 无刷新更新数据
- 异步与服务器通信
- 前端和后端负载平衡
- 基于标准被广泛支持
- 界面与应用分离
缺点:
- Ajax不能使用Back和history功能,即对浏览器机制的破坏
- 安全问题,Ajax暴露了与服务器交互的细节
- 对搜索引擎的支持比较弱
- 破坏程序的异常处理机制
- 违背URL和资源定位的初衷
- Ajax不能很好地支持移动设备
- 太多客户端代码造成开发上的成本
Ajax适用场景
- 表单驱动的交互
- 深层次的树的导航
- 快速的用户与用户间的交流响应
- 类似投票、yes/no等无关痛痒的场景
- 对数据进行过滤和操纵相关数据的场景
- 普通的文本输入提示和自动完成的场景
Ajax不适用场景
- 部分简单的表单
- 搜索
- 基本的导航
- 替换大量的文本
- 对呈现的操纵
代码
$.ajax({
type: 'POST',
url: url,
data: data,
dataType: dataType,
success: function () {},
error: function () {}
});