返回
编程
分类

必威官网亚洲体育提升用户体验这是使用Ajax最重要的原因之一,使用XML和XSLT进行数据交换及相关操作

日期: 2019-11-19 06:34 浏览次数 : 122

聊一聊Ajax的优缺点,Ajax优缺点

Ajax,全称 Asynchronous Javascript and XML,是一个动态的WEB应用的开发技术,它的出现丰富了用户的体验。甚至用Ajax开发的WEB应用可以达到桌面应用程序的体验。当然,和其他技术一样Ajax同样也有其自身的优点和缺点。

使用Ajax的优点

1. 提升用户体验

提升用户体验这是使用Ajax最重要的原因之一。Ajax允许Web页面向服务端请求少量的数据来达到连续不断更新,使用这种方法就可以只刷新部分页面而不用重新加载整个页面。传统的WEB页面是通过重新加载整个页面来达到更新页面数据的效果的,即使需要更新的数据很少。所以说Ajax的使用提升了浏览器的性能并且通过这种响应式的用户体验大大提升了浏览的速度。

2. 提高工作效率

Ajax类库提供了很多的面向对象模式的辅助函数,这些类库大大提高了开发速度减少在开发过程中碰到的障碍。此外在很多成熟的框架中都有自己的数据层、业务层还有视图层,所以Ajax只需要一个特定的Ajax服务和在客户端的一些改进就可以实现想要的功能。这种方式的架构减少了在程序部署上话费的时间,并且提高了开发人员的工作效率。

3. 减少带宽的使用并且提升了访问速度

Ajax是使用客户端脚本和Web服务端进行交互,使用javascript来交换数据。使用Ajax可以减轻网络负载、减少带宽的使用并且只请求需要的数据,这些方面都是加快响应时间必要的因素。响应时间缩短了,性能和速度自然也就有很大的提高了。

4. 很好的兼容性

由于Ajax是客户端技术,所以对于常用的服务端编程语言来说,都可以实现Ajax服务端,比如:PHP、Java、ASP.NET、node.js等等。并且几乎所有的浏览器都支持Ajax。

5. 支持异步处理

通过使用XmlHttpRequest异步获取数据是Ajax的主要特点。在请求未被执行完之前,程序是可以继续向下执行的,在请求返回之后再去执行相应的操作。这样的机制正是提升Web性能的最主要的原因。

6. 使页面内容切换更简单

Ajax使得不同内容切换变得更加简单直观,用户不需要再使用浏览器上传统形式的回退和前进按钮来实现页面的前进和后退功能了。

必威官网亚洲体育 ,使用Ajax的缺点

1. 浏览器之间的不兼容性

Ajax对于Javascript有很大的依赖性,因此在不同的浏览器上面的实现方式也是有所不同的。这就表明如果想跨浏览器实现Ajax那就必须对其进行相应的处理。如果有的浏览器不支持Javascript抑或是禁止了Javascript的此选项,那此浏览器就不支持Ajax,因此先前写的Ajax的功能在这类浏览器上就没有办法实现。正是由于Ajax依赖于Javascript的这一特性,所以Ajax不适合应用于手机端的应用。

2. 不安全

由于网页是很难调试的,因此随着你的代码量的增加,你的网页面临着越来越严重的威胁。

3. 增加了Web服务器的负载量

如果你在网页中增加了每隔几秒就自动向服务器请求更新数据的功能,那你的服务器的负载就会越来越大,严重的可能还会使服务器崩溃。

没错每一门技术既然有其优于其他同类技术的优点,那肯定也会存在相应的缺点,至于使用与否那取决于我们实际的项目需要,在实际工作中去衡量。

[引言]

您可能感兴趣的文章:

  • js jquery ajax的几种用法总结(及优缺点介绍)
  • 浅谈Ajax相关及其优缺点

Ajax,全称 Asynchronous Javascript and XML,是一个动态的WEB应用的开发技术,它的出现丰富了用户的体验。甚至用...

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

使用XHTML+CSS来标准化呈现。

使用XML和XSLT进行数据交换及相关操作。

使用XMLHttpRequest对象与Web服务器进行异步数据通信。

使用Javascript操作Document Object Model进行动态显示及交互。

使用JavaScript绑定和处理所有数据。

[与传统的Web程序比较]

传统的Web应用交互由用户触发 一个HTTP请求到服务器,服务器对其进行处理后再返回一个新的HTHL页到客户端, 每当服务器处理客户端提交的请求时,客户都只能空闲等待,并且哪怕只是一次很小的交互、只需从服务器端得到很简单的一个数据,都要返回一个完整的HTML 页,而用户每次都要浪费时间和带宽去重新读取整个页面。这个做法浪费了许多带宽,由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务 器的响应时间。这导致了用户界面的响应比本地应用慢得多。

与此不同,AJAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些 基于XML的Web Service接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快 的应用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。

[Ajax工作原理]

Ajax的工作原理相当于在用户和服 务器之间加了—个中间层(AJAX引擎),使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给 Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。

Ajax其核心有 JavaScript、XMLHTTPRequest、DOM对象组成,通过XmlHttpRequest对象来向服务器发异步请求,从服务器获得数据。

[Ajax优点]

必威官网亚洲体育提升用户体验这是使用Ajax最重要的原因之一,使用XML和XSLT进行数据交换及相关操作。<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所带来的一个比较严重的问题,因为用户往往是希望能够通过后退来 取消前一次操作的。那么对于这个问题有没有办法?答案是肯定的,用过Gmail的知道,Gmail下面采用的Ajax技术解决了这个问题,在Gmail下 面是可以后退的,但是,它也并不能改变Ajax的机制,它只是采用的一个比较笨但是有效的办法,即用户单击后退按钮访问历史记录时,通过创建或使用一个隐 藏的IFRAME来重现页面上的变更。(例如,当用户在Google Maps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)

但是,虽然说这个问题是可以解决的,但是它所带来的开发成本是非常高的,并与Ajax框架所要求的快速开发是相背离的。这是Ajax所带来的一个非常严重的问题。

一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。该问题的解决方案也已出现,大部分都使用URL片断标识符(通常被称为 锚点,即URL中#后面的部分)来保持跟踪,允许用户回到指定的某个应用程序状态。(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应 用程序能够在更新显示内容的同时更新锚点。)这些解决方案也同时解决了许多关于不支持后退按钮的争论。

<2>.AJAX的安全问题。

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

<3>.对搜索引擎支持较弱。

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

<4>.破坏程序的异常处理机制。

至少从目前看来,像Ajax.dll,Ajaxpro.dll这些Ajax框架是会破坏程序的异常机制的。关于这个问题,曾在开发过程中遇到过,但是查了一 下网上几乎没有相关的介绍。后来做了一次试验,分别采用Ajax和传统的form提交的模式来删除一条数据……给我们的调试带来了很大的困难。

<5>.违背URL和资源定位的初衷。

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

<6>.AJAX不能很好支持移动设备。

一些手持设备(如手机、PDA等)现在还不能很好的支持Ajax,比如说我们在手机的浏览器上打开采用Ajax技术的网站时,它目前是不支持的。

<7>.客户端过肥,太多客户端代码造成开发上的成本。

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