流行AJAX框架大比拼
二、Prototype's JavaScript 特性
Prototype 是最受欢迎的AJAX框架之一。Ajaxian.com网站2006年的调查结果显示,Prototype同框架规模庞大的Yahoo! User Interface, Google Web Toolkit, and Atlas.等相比较起来,其排名竟然遥遥领先,这不能不令人感到惊异。
答案很简单:Prototype使用起来就像是对于JavaScript语言的自然扩展。尝试过Prototype框架后,笔者几乎坚信Prototype框架应该被纳入JavaScript语言。
对于我们的案例,紧凑、强大并且设计合理的Prototype框架再合适不过了。通过Ajax.Request对象建立两个指向服务器端资源(PBX和账户查询)的并发调用,完成了第一个挑战——资源整合。Ajax.Request对象是对于XMLHTTPRequest对象的跨浏览器抽象,可向服务器端发送普通请求或者异步请求。当调用请求结束时,Ajax.Request对象把回调函数的名字作为参数返回。
因此,通过以下两个连续的调用实现了指向PBX系统两次请求:
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)
...
开发案例的其它部分由传统的JavaScript完成。对于页面元素渲染效果的定制,Prototype框架并不提供太多的支持。这部分处理成常规的基于XHTML/CSS界面设计的事件驱动模式的补充。
0
相关文章
