======================================================
注:本文源代码点此下载
======================================================
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 οnclick="gethtml()">
div id="placeholder">/div>
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/