AJAX的Prototype和Dojo框架实现客户体验
一、Prototype JavaScript 特性
Prototype 是最受欢迎的AJAX框架之一。Ajaxian.com网站2006年的调查结果显示,Prototype同框架规模庞大的Yahoo! User Interface, Google Web Toolkit, and Atlas.等相比较起来,其排名竟然遥遥领先,这不能不令人感到惊异。
答案很简单:Prototype使用起来就像是对于JavaScript语言的自然扩展。尝试过Prototype框架后,我坚信Prototype框架应该被纳入JavaScript语言。
function getInfo()
{
//load params from form
var callerNum = $F(''callerNum'');
var url = ''http://<server>/ServiceProvider/pbxService'';
var pars = ''callerNum='' + callerNum;
//asynchronous calls are used as default
var response = new Ajax.Request( url, { method: ''get'', parameters: pars
onComplete: showPBXResponse });
var callerName = response.responseText ;
var url = ''http://<server>/ServiceProvider/acctService'';
var pars = ''callerName='' + callerName;
var acctResponse = new Ajax.Request( url, { method: ''get'',parameters: pars
onComplete: showAcctResponse });
}
//callback functions
function showPBXResponse(requestResults)
{
//show returned value in the PBX area
$(''pbxResult'').value = requestResults.responseText ;
}
function showAcctResponse(requestResults)
二、Dojo ——神奇的界面工具集世界
Dojo是一种颇受欢迎的开源框架,对于web界面工具集和web开发中与后端系统间交互等诸多重要方面提供广泛的支持。在各种工具中,有些可直接用来渲染呼叫用户列表,其它像多选列表项的异步调用等则需要作进一步定制工作。
Dojo界面工具的定制需要深入了解Dojo的底层。Dojo的定制机制非常灵活,通晓javascript语言并且对于Dojo框架的细节可以掌握。定制非常灵活。
对于多个后端异步调用的实现,采用了dojo.io.bind对象。Bind对象可实现对后端资源的调用并将结果返回给回调对象。
var getURL = ''http://<server>/ServiceProvider/acctService?callerName='' +
callerName;
dojo.io.bind({
url: getURL, /* URL to be called */
load: function(type, data, evt){
/* normal callback code here
*/ },
error: function(type, error){
/* error handling callback defined here
*/ },
mimetype: "text/plain"
});
虽然Dojo的类和扩展模型相当复杂,而Bind对象和回调对象的模型则更容易理解和使用,性能也不错。