AJAX工作原理

Ajax工作原理:

相当于在用户和服务器之间加了一个中间层(AJAX引擎),使用用户操作与服务器响应异步化。
其核心有JavaScript、XMLHTTPRequest、Dom对象组成,通过XmlHttpRequest对象向服务器发异步请求,从服务器获得数据,再用JavaScript来操作Dom而更新页面

Ajax的优点:

<1>无刷新更新数据
在不刷新整个页面的前提下与服务器通信维护数据,使得Web程序应用更为迅捷的响应用户的交互,并避免了在网络上发送那些没有改变的数据信息,减少用户等待时间,带来非常好的用户体验;
<2>异步与服务器通信
不需要打断用户的操作,具有更加迅捷的响应能力,优化了Browser和Server之间的沟通,减少不必要的数据传输时间,降低网络数据的流量;
<3>前端和后端负载均衡
它可以把一些服务端负担转嫁到客户端,利用客户端闲置的能力来减轻服务器和带宽的负担、节约空间、减轻服务器压力。AJAX原则是“按需取数据”,尽最大程度减少冗余请求,和响应对服务器造成的负担,提升站点性能;
<4>基于标准被广泛支持
不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上使用;
<5>界面与应用分离
可以说是数据呈现分离,有利于分工合作,减少非技术人员对页面修改造成的Web应用程序错误,提高效率,也更适合于现在的发布系统;

Ajax的缺点:

<1>干掉了Back和History功能,即对浏览器机制的破坏;
<2>Ajax安全问题
使得开发者不经意间会暴露比以前更多的数据和服务问题,它的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击,也难以避免一些已知的安全弱点
eg:跨站点脚本攻击,SQL注入攻击和基于Crodentials的安全漏洞等;
<3>对搜索引擎支持较弱 ,若使用不当,Ajax会增大网络数据的的流量,从而降低整个系统的性能;
<4>破坏程序的异常处理机制;
<5>违背URL和资源定位的初衷;
<6>Ajax不能很好的支持移动设备,在手机上不支持打开采用Ajax技术的网站;
<7>客户端过于肥,太多客户端代码会造成开发上的成本,编程复杂、容易出错、冗余代码较多、破坏了Web的原有标准;

AJAX的适用场景

1.表单驱动的交互;
2.深层次的树导航;
3.快速的用户与用户间的交流响应;
4.类似投票,Y/N等简单场景;
5.对数据进行过滤和操作相关数据的场景;
6.普通的文本输入提示,和自动完成的场景;

AJAX的不适用场景

1.部分简单的表单;
2.搜索;
3.基本的导航;
4.替换大量文本;
5.对呈现的操作;

原生AJAX请求步骤

1.创建XHR对象;
2.调用open()方法创建请求;
3.调用send()方法发送请求;
4.OnreadyChange捕获状态码;
5.判断状态码是否成功;
6.调用ajax的response属性返回数据;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值