Ajax的优点以及缺点

那么我们得先知道什么是AJAX:

   AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。

   1):使用XMLHttpRequest对象与Web服务器进行异步数据通信;

   2):使用Javascript操作Document Object Model进行动态数据显示及交互;

   3):使用JavaScript绑定和处理所有数据等。

   AJAX  的优点

   1)页面无刷新更新数据AJAX最大优点就是能在不刷新整个页面的前提下与服务器通信维护数据。这使得Web应用程序更为迅捷地响应用户交互,并避免了在网络上发送那些没有改变的信息,减少用户等待时间,带来非常好的用户体验。

   2)异步与服务器通信:AJAX使用异步方式与服务器通信,不需要打断用户的操作,具有更加迅速的响应能力。优化了Browser和Server之间的沟通,减少不必要的数据传输、时间及降低网络上数据流量。

  3)前端和后端负载平衡:AJAX可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,AJAX的原则是“按需取数据”,可以最大程度的减少冗余请求和响应对服务器造成的负担,提升站点性能。

 4)基于标准被广泛支持:AJAX基于标准化的并被广泛支持的技术,不需要下载浏览器插件或者小程序,但需要客户允许JavaScript在浏览器上执行。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。

  5)界面与应用分离:Ajax使WEB中的界面与应用分离(也可以说是数据与呈现分离),有利于分工合作、减少非技术人员对页面的修改造成的WEB应用程序错误、提高效率、也更加适用于现在的发布系统。

AJAX  的缺点

  1)AJAX 干掉了Back和History功能,即对浏览器机制的破坏:在动态更新页面的情况下,用户无法回到前一个页面状态,因为浏览器仅能记忆历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常会希望单击后退按钮能够取消他们的前一次操作,但是在Ajax应用程序中,这将无法实现的 ,后退按钮是一个标准的web站点的重要功能,但是它没法和js进行很好的合作。这是Ajax所带来的一个比较严重的问题,

  2)AJAX的安全问题:AJAX技术给用户带来很好的用户体验的同时也对IT企业带来了新的安全威胁,Ajax技术就如同对企业数据建立了一个直接通道。这使得开发者在不经意间会暴露比以前更多的数据和服务器逻辑。Ajax的逻辑可以对客户端的安全扫描技术隐藏起来,允许黑客从远端服务器上建立新的攻击。还有Ajax也难以避免一些已知的安全弱点,诸如跨站点脚步攻击、SQL注入攻击和基于Credentials的安全漏洞等等

3)对搜索引擎支持较弱:对搜索引擎的支持比较弱。如果使用不当,AJAX会增大网络数据的流量,从而降低整个系统的性能。

4)破坏程序的异常处理机制:至少从目前看来,像Ajax.dll,Ajaxpro.dll这些Ajax框架是会破坏程序的异常机制的

5)违背URL和资源定位的初衷:我给你一个URL地址,如果采用了Ajax技术,也许你在该URL地址下面看到的和我在这个URL地址下看到的内容是不同的。这个和资源定位的初衷是相背离的

6)AJAX不能很好支持移动设备:一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax

7)客户端过肥,太多客户端代码造成开发上的成本:编写复杂、容易出错 ;冗余代码比较多(层层包含js文件是AJAX的通病,再加上以往的很多服务端代码现在放到了客户端);破坏了Web的原有标准。

8)如果用户禁用了JS,网站就取不到数据

 

由此我们可以知道Ajax 适合用在 表单驱动的交互,深层次的树的导航,普通文本输入提示和自动完成,对数据进行过滤和操纵相关数据,快速的用户与用户间的交流响应

不适合用在 搜索 ,基本的导航,替换大量的文本,部分简单的表单

  • 5
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ajax(Asynchronous JavaScript and XML)是一种用于创建交互式的Web应用程序的技术。它通过使用JavaScript和XML(现在也包括JSON)来实现在不刷新整个页面的情况下,异步地向服务器发送请求并接收响应。 优点: 1. 提升用户体验:由于Ajax可以在后台与服务器进行异步通信,因此用户可以在不刷新整个页面的情况下获取更新的数据,使得网页更加动态和交互性,提升用户体验。 2. 减少带宽消耗:使用Ajax可以只更新页面中的一部分内容,而不是整个页面,从而减少了数据传输量,节约了带宽。 3. 提高页面加载速度:由于Ajax可以异步请求数据,因此可以在后台同时加载多个资源,在某些情况下可以提高页面加载速度。 4. 增加Web应用程序的灵活性:通过Ajax,可以将数据和展示逻辑分离,实现前后端的解耦,提高了Web应用程序的灵活性和可维护性。 缺点: 1. 对搜索引擎不友好:由于Ajax通过动态加载内容,搜索引擎难以获取到完整的页面内容,可能影响网站的SEO效果。 2. 增加开发复杂性:使用Ajax需要处理更多的前后端交互逻辑,增加了开发的复杂性,对开发者的要求较高。 3. 安全性考虑:由于Ajax可以异步请求数据,可能存在安全隐患,如跨站点脚本攻击(XSS)和跨站点请求伪造(CSRF)等问题,需要进行适当的安全措施。 总的来说,Ajax在提升用户体验和减少带宽消耗方面具有明显的优势,但在SEO和安全性方面需要注意一些问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值