我想prototype.js里的ajax对象肯定吸引了不少人,大量封装好的ajax逻辑的类,对于我们这些初学者使用ajax有很大的帮助。
以下用一个我的具体使用例子来解释:效果看这里
1. Ajax.Request
你可以这样创建它
var url = 'http://yoursever/your/your';
var pars = 'id=xxx';
var myAjax = new Ajax.Request(
url,
{method: 'get', parameters: pars, onComplete: yourfunction}
);
parameters表示你要传递的参数,比如id=xxx这些。
XMLHttpRequest在HTTP请求期间的阶段分为:Loading, Loaded, Interactive, Complete。
Ajax.Request对象在任何一个阶段都可以调用你自定义的方法,形式如onxxxxxxx:yourfunction,比如我们上面提到的onComplete,是最常用的。
例子中实际使用的代码
function sends(id)
{
c = $('content');
o = $('old-content');
c.innerHTML = "
载入中...
";
o.innerHTML = c.innerHTML;
c.style.display = 'none';
o.style.display = 'block';
var myAjax = new Ajax.Request('content_'+ id + '.html', {method: 'get', onComplete:updates});
}
function updates(response)
{
new Effect.Fade($('old-content'));
new Effect.Appear($('content'));
$('content').innerHTML = response.responseText;
}