Ajax内部机制深度剖析——Web开发者必读

StrutsAjax高级程序设计》样章连载——12.3 Ajax内部机制<o:p></o:p>



1. 经典Struts著作,涵盖Ajax<o:p></o:p>

2. 深入剖析Web编程思想和Struts各种高级主题<o:p></o:p>

3. 注重实践,提升你解决实际问题的能力<o:p></o:p>

4. Pro Spring作者新著<o:p></o:p>

<o:p> </o:p>

更多详细信息:http://www.china-pub.com/38127<o:p></o:p>

12.3  Ajax内部机制

Ajax不是单一的技术,这一点本章前面已经提及。要记住,AjaxJava或者.NET没有什么直接的关系。可以编写Ajax代码(使用JavaScript语言)与任何类型的后端代码进行交互——比如Java.NETPHP或者其他技术。从技术角度来看,Ajax给我们带来的最大好处是有助于提升Web应用程序的处理速度。Ajax从如下三个方面实现这个目标:

更好地利用浏览器缓存。

把网络请求压缩到一个数据包中,以缓解网络延迟问题。

不要求服务器处理整个页面,进而降低服务器的负载。

下面,我们讨论Ajax典型的请求—答复循环。

12.3.1  Ajax请求—答复循环

12-1展示了当使用Ajax时典型的用户请求—答复循环处理过程。

12-1  Ajax请求—答复循环

在这个范例中,在Web页面上,用户把鼠标移动到某种元素的上面,发出一个请求(假设鼠标移动到Password字段,并且你希望提供一个工具提示,说明输入密码时应该遵循的基本规则)。借助于JavaScript语言,应用程序会识别mouseOver事件,并创建一个XMLHttpRequest对象。然后,与后端服务器进行交互,并使用XML进行答复。最后,客户端浏览器解析答复的XML,并向用户展示工具提示。

这是使用Ajax技术的典型的请求—答复循环过程。其中最关键的是XMLHttpRequest对象,我们接下来将继续解释。

12.3.2  XMLHttpRequest对象

XMLHttpRequest对象最早是在Internet Explorer 5.0中引入的。最近,MozillaApple在它们的Web浏览器(分别是FirefoxSafari)中都支持这个对象。这个对象是Ajax技术的基础。Microsoft Web浏览器对该对象的实现方式不同于其他浏览器,所以当在自己的代码中创建这个对象时,有必要进行浏览器检查。对于Internet Explorer,使用如下代码创建这个对象:

var req = new ActiveXObject("Microsoft.XMLHTTP");

对于FirefoxSafari浏览器,XMLHttpRequest对象只是一个内置对象:

         var req = new XMLHttpRequest();

在下一节中,你会看到更详细的代码范例。

现在,W3C中有一个事实,拟将这个对象设为标准。下面是W3C提议作为标准的接口定义:


这时候,你应该有所了解XMLHttpRequest对象具有哪些功能。为了更加有意义,下面提供了一个使用StrutsAjax范例,并演示了如何使用XMLHttpRequest对象。

本文仅供学习交流使用,严禁抄袭和转载,如果将本文内容用于商业用途,将追究法律责任!<o:p></o:p>

好书推荐,精彩明天继续······<o:p></o:p>

你是一位Java Web开发者吗?如果是,我诚挚地、强烈地向您推荐两本业界公认的经典Struts教程······<o:p></o:p>

1.Struts基础教程》<o:p></o:p>

<o:p> </o:p>

(1)       针对Java Web开发人员的一本基础教程<o:p></o:p>

(2)       能够帮助读者迅速掌握Struts基础<o:p></o:p>

更多详细信息:http://www.china-pub.com/33567<o:p></o:p>



2.《深入浅出Struts<o:p></o:p>

<o:p> </o:p>

(1)       Amazon畅销书<o:p></o:p>

(2)       深入全面地阐释Structs的方方面面..<o:p></o:p>

(3)       专门章节剖析Struts源代码<o:p></o:p>

更多详细信息:http://www.china-pub.com/35778

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值