[b][/b][b]AjaxResponders[/b]对象维护一个正在运行的Ajax对象列表,在需要实现一些全局的功能时就可以使用它。例如,在Ajax请求发出以后需要提示用户操作正在执行中,当操作返回以后取消提示。
定义了一个[b]handle[/b]对象,其中包含[b]onCreate[/b]和[b]onComplete[/b]函数。页面中发出任何一个[b]Ajax[/b]请求时都会调用[b]onCreate[/b]方法,而请求完成时都会调用[b]onComplete[/b]方法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>chapter 3</title>
<script type="text/javascript" language="javascript"
src="prototype.js" ></script>
<script type="text/javascript" language="javascript">
function test() {
var myAjax = new Ajax.Request(
'http://www.sergiopereira.com/articles/prototype.js.html',
{
method: 'get',
onComplete: showResponse
}
);
}
function showResponse(response) {
$('divResult').innerHTML = response.responseText;
}
var handle = {
onCreate: function() {
Element.show('loading');
},
onComplete: function() {
if (Ajax.activeRequestCount == 0) {
Element.hide('loading');
}
}
};
Ajax.Responders.register(handle);
</script>
</head>
<body>
<input type="button" value="click" onclick="test()" />
<div id="divResult" ></div>
<div id='loading' style="display:none">
<img src="loading.gif">Loading...
</div>
</body>
</html>
定义了一个[b]handle[/b]对象,其中包含[b]onCreate[/b]和[b]onComplete[/b]函数。页面中发出任何一个[b]Ajax[/b]请求时都会调用[b]onCreate[/b]方法,而请求完成时都会调用[b]onComplete[/b]方法。