ajax.updater 方法有3个参数: ajax.updater
(container,
url, options)
分别表示 1.控件id;2.请求的url;3.具体如下(可选):
属性 |
类型 |
Default |
描述 |
method |
Array |
'post' |
HTTP 请求方式。get or post |
parameters |
String |
'' |
在HTTP请求中传入的url格式的值列表。 |
asynchronous |
Boolean |
true |
指定是否做异步 AJAX 请求。 |
postBody |
String |
undefined |
在HTTP POST的情况下,传入请求体中的内容。 |
requestHeaders |
Array |
undefined |
和请求一起被传入的HTTP头部列表, 这个列表必须含有偶数个项目, 任何奇数项目是自定义的头部的名称,
接下来的偶数项目使这个头部项目的字符串值。 例子:['my-header1', 'this is the
value', 'my-other-header', 'another value'] |
onXXXXXXXX |
Function(XMLHttpRequest) |
undefined |
在AJAX请求中,当相应的事件/状态形成的时候调用的自定义方法。 例如 var myOpts =
{onComplete: showResponse, onLoaded: registerLoaded};.
这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。 |
onSuccess |
Function(XMLHttpRequest) |
undefined |
当AJAX请求成功完成的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。 |
onFailure |
Function(XMLHttpRequest) |
undefined |
当AJAX请求完成但出现错误的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。 |
insertion |
Function(Object, String) |
null |
为了把返回的文本注入到一个元素中而执行的方法。 这个方法将被传入两个参数,要被更新的对象并且只应用于 Ajax.Updater
的响应文本 。 |
evalScripts |
Boolean |
undefined, false |
决定当响应到达的时候是否执行其中的脚本块,只在 Ajax.Updater 对象中应用。 |
decay |
Number |
undefined, 1 |
决定当最后一次响应和前一次响应相同时在 Ajax.PeriodicalUpdater 对象中的减漫访问的次数,
例如,如果设为2,后来的刷新和之前的结果一样, 这个对象将等待2个设定的时间间隔进行下一次刷新, 如果又一次一样, 那么将等待4次,等等。
不设定这个只,或者设置为1,将避免访问频率变慢。 |
function getContents()
{
var request_url = "test1.html"; // 需要获取内容的url
var request_pars = '';//请求参数
var myAjax = new Ajax.Updater('result', request_url,{ // 将request_url返回内容绑定到id为result的容器中
method : 'get', //HTTP请求的方法,get or post
parameters : request_pars, //请求参数
onFailure : reportError, //失败的时候调用 reportError 函数
onLoading : loading, //正在获得内容的时候
onComplete : done //内容获取完毕的时候
});
}
function loading()
{
$('loading').style.display = 'block';
}
function done()
{
$('loading').style.display = 'none';
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
Ajax.Updater
为我们提供加载文档时候的三种状态,
onComplete,onLoading,onFailure.我们可以自定义一个函数分别相应这三种不同的状态。
下面的例子用到了success (一切OK的时候才被用到) ,和它同等地位的属性还有一个
failure (有地方出问题的时候被用到) 这里没用到。出错时在
onFailure 处调用
reportError
方法。
<script>
function getHTML()
{
var url = 'http://yourserver/app/getSomeHTML';
var pars = 'someParameter=ABC';
var myAjax = new Ajax.Updater(
{success: 'placeholder'},
url,
{method: 'get', parameters: pars, onFailure: reportError});
}
function reportError(request)
{
alert('Sorry. There was an error.');
}
</script>
<input type=button value=GetHtml onclick="getHTML()">
<div id="placeholder"></div>