如何在Domino上使用Ajax 框架Dojo

作为 Domino 开发人员,浏览器应用的开发是其中重要的一部分。而浏览器应用开发方面会有许多新的技术和方法出现。如何将这些新的技术和方法运用到 Domino 环境中是 Domino 开发人员需要面对的一个重要问题。

目前,我们正处于在 Web 2.0 的时代,在这个伟大的时代出现了大量的浏览器技术,其中有代表性的就是 Ajax。通过 Ajax,我们可以让客户端在不刷新网页的情况下与服务器交换数据,从而生成真正动态的网页。对 Ajax 的使用包括一定的低层编码工作,为了简化这一工作,人们提出了 Ajax 框架的概念,将 Ajax 相关的低层编码封装起来,装配成简单易用的小组件。而 Dojo 则是 Ajax 框架中极为优秀的一个。

本文并不会详细地介绍 Ajax 与 Dojo,有关 Ajax 与 Dojo 的具体内容请参考 相关资源。同时,本文也不会详细介绍 Domino 的设计方法,本文的读者需要对 Domino 开发有一定的经验。本文主要是介绍如何在 Domino 环境中使用 Dojo 这一框架,并将 Dojo 与 Domino 的设计元素结合起来。

Ajax 与 Dojo 介绍

Ajax 的英文全名是: Asynchronous JavaScript and XML,中文意思就是“异步的JavaScript 和 XML”。其中 JavaScript 用于前台处理,XML 用于前台与后台的数据传递。之所以称之为“异步”,是因为 Ajax 使用了异步的方式与服务器交互,当前台处理的JavaScript 向后台发送完数据请求后,程序控制权会返回给 JavaScript。当服务器在后台对请求进行响应的时候,前台的JavaScript 可以继续运行,执行其它操作。当服务器端处理完请求并返回结果后,会在前台触发事先指定的方法,通过这一方法对返回结果进行处理。

Ajax 所拥有的这种异步通讯能力在低层而言得益于一个新的JavaScript 对象:XmlHttpRequest。它的核心功能是向指定的服务器发送一个 HTTP 请求,同时指定一个 JavaScript 方法作为回调函数。当这个 HTTP 请求被发送后,当前网页不需要被刷新。同时,虽然被指定的回调函数会等待服务器的处理结果,但是前台的JavaScript 可以继续工作,响应用户在前台的其它操作。

使用 Ajax 技术,开发人员需要建立 XmlHttpRequest 对象,并实现回调函数。如果在每一个需要的网页元素上都实现这样细节,会有很大工作量,同时代码也不易管理。在这种情况下,人们提出的Ajax 框架的概念,通过 Ajax 技术实现了大量实用的小组件,开发人员只需要调用小组件就可以和服务器进行异步交互。

在 Ajax 框架中,Dojo 是其中极为优秀的一个。Dojo 是一个开源项目,虽然在 Dojo 的主页上,他们只是把 Dojo 定义成一个开源的DHTML 项目,但是它无疑是一个充分发挥 Ajax 优势的框架。

在 Domino 上实现最基本的Ajax 调用

因为 Domino 是一个完整的HTTP 服务器,在不添加其它框架的情况下,开发人员都可以在 Domino 环境里通过编写代码实现 Ajax 调用,从而实现复杂的异步应用。为了让读者集中了解在 Domino 上实现 Ajax 调用的关键,下面用最简单的例子进行说明。

首先,为了测试需要,我们在测试服务器上建立一个测试数据库,名为:ajaxsample.nsf。 然后,在该数据库创建一个表单,名为:SampleAJAX。此外,在同一数据库创建一个页面名为 samplepage,里面输入文本“testing page”作为内容。我们将在表单 SampleAJAX 里实现 Ajax 调用,在不刷新当前页面的情况下动态获取页面“samplepage”的内容。

在表单 SampleAJAX 中的“JS Header”事件中输入如下代码:

清单 1. Ajax 调用返回数据的代码

var oXHR;
function mycallback() {
 if (oXHR.readyState == 4) {
   if (oXHR.status == 200) {
    alert(oXHR.responseText);
   } else {
    alert('error');
   }
 }
}

然后在表单中创建一个按钮和一个可编辑的文本域,按钮用于触发 Ajax 调用,可编辑的文本域用于证明当前页面是否被刷新。完成以上步骤后的结果如下图所示:

图 1. 创建的脚本、按钮和文本域

时间: 2024-12-21 08:28:18

如何在Domino上使用Ajax 框架Dojo的相关文章

Ajax框架及原理分析--视频

Ajax框架及原理分析 下载地址:http://v.51work6.com/courseInfoRedirect.do?action=courseInfo&courseId=240576 AJAX技术是目前流行的Web技术,它可以帮助我们构建无刷新的Web系统,我们的AJAX课程是基于JavaEE的.首先介绍了AJAX基本原理,为什么要使用AJAX,然后是介绍了AJAX框架.其中DRW是JavaEE特有的AJAX框架.XML技术.XHTML介绍.JavaScript语言和CSS技术是学习AJAX

流行的AJAX框架比较:jQuery,Mootools,Dojo,Ext JS

AJAX是web20的基石,现在网上流行几种开源的AJAX框架,比如:jQuery,Mootools,Dojo,Ext JS等等,那么我们到底在什么情况下该使用那个框架?以下是一组摘抄的数据: Ajaxian在2007年底对Ajax工具进行了调查,部分调查结果见下表(其中数字为调查者使用该工具的百分比,详细的请参见网页):http://ajaxian.com/archives/2007-ajax-tools-usage-survey-results Prototype jQuery Ext Sc

Dojo前端开发中非常优秀的Ajax框架之一

在应用中我们可能会碰见这样的情况,我们需要在一个图表上展示包含多个维度的信息,随着维度的增加,我们会发现一般的图表无法充分和直观的展现这些信息.如企业经营状况各项指标数据的分析以及http://www.aliyun.com/zixun/aggregation/8172.html">用户行为各项特征的数据分析等.在最近的应用中我也遇到了这样的情况,经过分析发现,对于这类数据,使用蜘蛛图来展示能达到非常直观的效果.因为蜘蛛图能直观的展示数据的变动趋势和差异对比.在用来绘制蜘蛛图的第三方类库和框

如何在 CentOS 7 / Ubuntu 15.04 上安装 PHP 框架 Laravel

如何在 CentOS 7 / Ubuntu 15.04 上安装 PHP 框架 Laravel 大家好,这篇文章将要讲述如何在 CentOS 7 / Ubuntu 15.04 上安装 Laravel.如果你是一个 PHP Web 的开发者,你并不需要考虑如何在琳琅满目的现代 PHP 框架中选择,Laravel 是最轻松启动和运行的,它省时省力,能让你享受到 web 开发的乐趣.Laravel 信奉着一个普世的开发哲学,通过简单的指导创建出可维护代码是最优先的,你将保持着高速的开发效率,能够随时毫不

AJAX框架/库比较和选择:ECHO2, GWT, DOJO, PROTOTYPE, JQUERY

AJAX框架/库比较和选择:ECHO2, GWT, DOJO, PROTOTYPE, JQUERY 看了几篇中英文的AJAX库/框架比较文章,为方便选择使用,特归纳如下:首先,要在两个类别中选择,一个是编译类,一个是非编译类别.Echo2/GWT是将JAVA代码编译成JAVASCRIPT,乍看很方便,不用掌握JS也能做出炫目界面.但这只适于不会或者不想了解JS的情况,对于还是想完全控制和定制界面的项目就不适合.另 外,有一种观点认为JAVA->JS转换是一种低级语言向高级语言转换,本身没有意义.

AJAX框架&简介

ajax|ajax框架 Ajax,使用它可以构建更为动态和响应更灵敏的Web应用程序.该方法的关键在于对浏览器端的JavaScript.DHTML和与服务器异步通信的组合.本文也演示了启用这种方法是多么简单:利用一个Ajax框架(指DWR)构造一个应用程序,它直接从浏览器与后端服务进行通信.如果使用得当,这种强大的力量可以使应用程序更加自然和响应灵敏,从而提升用户的浏览体验. 该应用程序中所使用的示例代码已打包为单独的WAR文件,可供下载. 简介 术语Ajax用来描述一组技术,它使浏览器可以为用

AJAX框架汇总

ajax|ajax框架 1. Pure http://www.alixixi.com/web/a/javascript: Application Frameworks 1.1 Bindows (成立于2003年) Backbase是一个通过DHTML.JavaScript.CSS和HTML等技术强劲联合起来的一套完整的Windows桌面式的WEB应用程序解决方案.Bindows无需下载安装客户端支撑组件(如Java.ActiveX或Flash),仅需一个浏览器.纯OO的理念体现在Bindows任

使用ZK框架的富Internet应用程序:一个开源Ajax框架

ZK 是一个用 Java 代码编写的开源 Asynchronous JavaScript + XML (Ajax) 框架,使用该框架,您无需编写 JavaScript 代码就可以编写一个 支持 Web 2.0 的富 Internet 应用程序.Dojo 等典型的 Ajax 框架拥有一些 JavaScript 库,用于公开某些 API 以进行 "Ajax 化" 调用.另 一方面,ZK 使用一个基于 XML 的元定义(meta-definition)来定义用户界面 .当客户机请求这个页面时

开发自己的Web服务处理程序(以支持Ajax框架异步调用Web服务方法)

当你添加Asp.net AJAX功能到你的Web程序的时候,你需要在Web.config中做一些改变,需要你显式地移除默认的ASMX处理程序并且添加asp.net ajax框架自己的脚本处理器来作为ASMX处理程序.在上一篇异步调用Web服务方法中,我们谈论过,ajax框架的asmx(ScriptHandler)是不支持异步调用Web服务方法的,所以为了让asp.netajax支持异步Web方法调用,我们需要避开该处理器,以提供自定义的处理器来取代它. Asp.netAJAX框架的ASMX处理器