Dojo   发布时间:2022-04-21  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了掌握 Dojo 工具包( 2):使用 Dojo 框架开发 Ajax 应用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

XmlHttpRequest 对象的思考@H_674_4@

在传统的以页面为单位的浏览器和服务器交互模式中,每一次服务器请求都会导致整个页面的重新加载,即使需要更新的仅仅是页面的一小部分(比如显示一个登录错误信息)。 Ajax 技术的出现给页面带来了一些变化,其中最直观的莫过于站点页面上出现越来越多的“ loading …”,“正在加载中……”等提示信息,有些忽如一夜春风来,loading 加载处处开的意思。“ loading …”或者“正在加载中……”表示浏览器正在与服务器之间进行交互,交互完成之后,将对页面进行局部刷新,这种交互模式然简单却极大的提高了 Web 应用的用户体验。实现这种模式的核心就是 Xmlhttprequest(后文简称 XHR)对象。@H_674_4@

XHR 对象促使越来越多“单一页面”的 Web 应用的诞生。使用 XHR 对象可以发送异步 http 请求。因为是异步,在浏览器和服务器交互的过程中,仍然可以操作页面。当页面中有多个进行异步调用的 XHR 对象时,事情有了质的变化,每一个 XHR 对象都可以独立于服务器进行通信,浏览器中的页面仿佛是一个多线程的应用程序。这种多线程异步调用的特性给 Web 应用的开发带来了很大的影响,越来越多像 Google Mail 这种“单一页面”的应用涌现出来,而且大受欢迎。之所以能做到“单一页面是因为有很多的 XHR 对象地在背后服务,我们可以通过启用 firebug 来查看每次在 Google Mail 页面上的操作“生产”了多少个 XHR 对象。@H_674_4@

Ajax 资源中心

请访问 Ajax 资源中心,这是有关 Ajax 编程模型信息的一站式中心,包括很多文档、教程、论坛、blog、wiki 和新闻。任何 Ajax 的新信息都能在这里找到。@H_674_4@

使用 XHR 对象的另一个好处是可以减少服务器返回的数据量,进而提升系统的性能。在原有的 B/S 交互模式中,服务器返回的是粗粒度的 HTML 页面;使用 XHR 对象之后,服务器返回的是细粒度的数据,如 HTML,JSON,XML 等,请注意这里返回的是数据而不是页面,也就是说只返回需要更新的内容,而不返回已经在页面显示的其他内容,所以每次从服务器返回的数据量比原来要少。采用 AJAX 技术的 Web 应用在初次加载时花费的时间比较长,但是加载完成之后,其性能比原来的 Web 应用要好很多。@H_674_4@

这里介绍了一些 Xmlhttprequest 对象给 Web 开发带来的变化,这些变化是 Ajax 技术能够流行的重要原因,认识这些变化可以帮助开发人员设计、开发高效的 Web 应用。本文并不打算介绍 Xmlhttprequest 的属性方法,很多@L_489_44@在这方面已经做得很好。@H_674_4@

XHR 框架@H_674_4@

Xmlhttprequest 对象是 Dojo 中的 XHR 框架的基础,目前主流浏览器都已经支持此对象,但是不同浏览器上实现方式却不一样,IE5、IE6 采用 ActiveX 对象的方式,Firefox 和 Safari 都实现为一个内部对象,所以创建 XHR 对象之前需要先测试浏览器的类型,清单 1 展示了最简单的创建 XHR 对象的代码。@H_674_4@
清单 1

@H_607_43@
				
function createXHR(){
if (window.XMLhttprequest) { // Non IE
return new XMLhttprequest();
}
else if (window.ActiveXObject) { // IE
return new ActiveXObject("Microsoft.XMLhttp");
}
}

或许是认识到 XHR 对象的重要性,微软在 IE7 中已经把它实现为一个窗口对象属性。但是判断浏览器类型的代码依然不能消除,因为 IE5,IE6 仍然有大量的使用者。@H_674_4@

XHR 对象创建方式不一致是 Dojo 的 XHR 框架诞生的一个原因,更重要的原因是原始 XHR 对象还不够强大,有些方面不能满足开发的需要:首先 XHR 对象支持的返回类型有限,原始 XHR 对象只有 responseText 和 responseXML 两个属性代表返回的数据,重要的数据交换格式 JSON 就不被支持;其次不能设置 http request 的超时时间,设置超时时间可以让客户端脚本控制请求存在的时间,而不是被动的等待服务器端的返回。@H_674_4@

基于这些问题,Dojo 组织提供了一组函数支持各种 http 请求,包括 xhrGet,rawXhrPost,xhrPut,rawXhrPut,xhrPut,xhrdelete,这几个函数http 协议中的四种请求是一一对应的,http 四种请求是:Get(读取),Post(更新),Put(创建),delete(删除)。 Dojo 组织的发起者 Alex Russell 把这些跟 XHR 对象相关的函数放在一起称为 XHR 框架。下面我们来看看 Dojo 是如何创建 XHR 对象的。清单 2 是 Dojo 1.1 中创建 XHR 对象的代码片段。@H_674_4@
清单 2




本文转自IBM Developerworks中国 @H_674_4@

请点击此处查看全文@H_674_4@

大佬总结

以上是大佬教程为你收集整理的掌握 Dojo 工具包( 2):使用 Dojo 框架开发 Ajax 应用全部内容,希望文章能够帮你解决掌握 Dojo 工具包( 2):使用 Dojo 框架开发 Ajax 应用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。