AJax技术

ASP.NET开发大全第16章.ASP.NET 3.5和AJAX

字号+ 作者:H5之家 来源:H5之家 2015-11-21 14:20 我要评论( )

在Web开发领域最流行的就属AJAX,在传统的Web开发中,在C/S应用程序的开发过程中,在传统的Web开发过程中,在C/S应用程序开发中,相对于传统的Web开发,相对于传

导读:在Web开发领域最流行的就属AJAX,在传统的Web开发中,在C/S应用程序的开发过程中,在传统的Web开发过程中,在C/S应用程序开发中,相对于传统的Web开发,相对于传统的Web开发而言,在使用AJAX进行Web应用开发的过程中,这些技术已经在现在的开发当中被普遍使用,开发人员能够使用JavaScript进行Web应用中Web编程和客户端状态维护,开发人员无需知道AJAX引擎是如何将数据发

ASP.NET开发大全第16章.ASP.NET 3.5和AJAX

第16章 ASP.NET 3.5和AJAX

现今,在Web开发领域最流行的就属AJAX,AJAX能够提升用户体验,更加方便的与Web应用程序进行交互。在传统的Web开发中,对页面进行操作往往需要进行回发,从而导致页面刷新,而使用AJAX就无需产生回发从而实现无刷新效果。

16.1 AJAX基础

在C/S应用程序的开发过程中,很容易做到无“刷新”样式控制,因为C/S应用程序往往是安装在本地的,所以C/S应用程序能够维持客户端状态,对于状态的改变能够及时捕捉。相比之下,Web应用属于一种无状态的应用程序,在Web应用程序操作过程中,需要通过POST等方法进行页面参数传递,这样就不可避免的产生页面的刷新。

16.1.1 什么是AJAX

在传统的Web开发过程中,浏览者浏览一个Web页面,并进行相应的页面填写时,就需要使用表单向服务器提交信息。当用户提交表单时,就不可避免的会向服务器发送一个请求,服务器接受该请求后并执行相应的操作后将生成一个页面返回给浏览者。

然而,在服务器处理表单并返回新的页面的同时,浏览者第一次浏览时的页面(这里可以当作是旧的页面)和服务器处理表单后返回的页面在形式上基本相同,当大量的用户进行表单提交操作时,无疑是增加了网络的带宽,因为处理前和处理后的页面基本相同。

在C/S应用程序开发中,C/S应用程序往往安装在本地,这样响应用户事件的时间非常的短,而且C/S应用程序可以算的上是有状态的应用程序,能够及时捕捉和相应用户的操作。而在Web端,由于每次的交互都需要向服务器发送请求,服务器接受请求和返回请求的过程就依赖于服务器的响应时间,所以给用户造成感觉要比在本地慢的多。

为了解决这一问题,通过在用户浏览器和服务器之间设计一个中间层——即AJAX层能就能够解决这一问题,AJAX改变了传统的Web中客户端和服务器的“请求——等待——请求——等待”的模式,通过使用AJAX应用向服务器发送和接收需要的数据,从而不会产生页面的刷新。

AJAX应用通过使用SOAP或其他一些基于XML的web service接口,并在客户端采用JavaScript处理来自服务器的响应,从而减少了服务器和浏览器之间的“请求——回发”操作,从而减少了带宽。当服务器和客户端之间的信息通信减少之后,浏览者就会感觉到Web应用中的操作就更快了。

AJAX将一些应用的处理交付给客户端,让服务器端原本应该运行的操作和需要处理的事务分布给客户端,这样服务器端的处理时间也减少了。

相对于传统的Web开发,AJAX提供了更好的用户体验,AJAX也提供了较好的Web应用交互的解决方案,相对于传统的Web开发而言,AJAX技术也减少了网络带宽。Ajax的核心是JavaScript对象XmlHttpRequest。该对象在Internet Explorer 5中就被引入了,它是一种支持异步请求的技术。简而言之,XmlHttpRequest使您可以使用JavaScript向服务器提出请求并处理响应,而不会影响客户端的信息通信。

传统的Web应用和AJAX应用模型如图16-1所示。

图16-1 传统Web应用和AJAX Web应用模型

AJAX Web应用模型的优点在于,无需进行整个页面的回发就能够进行局部的更新,这样能够使Web服务器能够尽快的响应用户的要求。而AJAX Web应用无需安装任何插件,也无需在Web服务器中安装应用程序,但是AJAX需要用户允许JavaScript在浏览器上执行,如图用户不允许JavaScript在浏览器上执行,则AJAX可能无法运行。但是随着AJAX的发展和客户端浏览器的发展,先进的所有的浏览器都能够支持AJAX,包括最新的IE8、Firefox 4以及Opera等。

AJAX包含诸多优点,同样也包含缺点。AJAX无法维持刚刚的“历史”状态,当用户在一个页面进行操作后,AJAX将破坏浏览器的功能中的“后退”功能,当用户执行了AJAX操作之后,当单击浏览器的后退按钮时,则不会返回到AJAX操作前的页面形式,因为浏览器仅仅能够记录静态页面的状态,而使用AJAX进行页面操作后,并不能改变本身页面的状态,所以单击后退按钮并不能返回操作前的页面状态。

在使用AJAX进行Web应用开发的过程中,另一个缺点就是容易造成用户体验变差。虽然AJAX能够极大的方便用户体验,但是当服务器需求变大时,当用户进行一个操作而AJAX无法及时相应时,可能会造成相反的用户体验。

例如用户阅读一个新闻时,当用户进行评论时,页面并没有刷新,但是评论这个操作已经在客户端和浏览器之间发生了,用户可能很难理解为什么页面没有显式也没有刷新,这样容易让用户变得急躁和不安,使得用户可能产生非法操作从而降低用户体验。为了解决这个问题,可以在页面明显的位置提示用户已经操作或提示请等待等操作,让用户知道页面正在运行。

相比于传统的Web应用,AJAX的另一个缺点就是对移动设备的支持不够好。在当今IPhone和GPhone等智能移动设备逐渐普及的同时,AJAX并不能很好的支持这些设备,这也需要等待AJAX技

412

术的进一步发展。

16.1.2 ASP.NET AJAX入门

AJAX技术看似非常的复杂,其实AJAX并不是新技术,AJAX只是一些老技术的混合体,AJAX通过将这些技术进行一定的修改、整合和发扬,就形成了AJAX技术。这些老技术包括有:

? XHTML:基于XHTML1.0规范的XHTML技术。

? CSS:基于CSS2.0的CSS布局的CSS编程技术。

? DOM: HTML DOM,XML DOM等DON技术。

? JavaScript:JavaScript编程技术。

? XML:XML DOM、XSLT、XPath等XML编程技术。

上面的这些技术并不是最新的技术,这些技术已经在现在的开发当中被普遍使用,包括XHTML、CSS和DOM,开发人员能够使用JavaScript进行Web应用中Web编程和客户端状态维护,而通过使用XML技术能够进行数据保存和交换。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评