prototype.js 的 Ajax.updater 的 用法


======================================================
注:本文源代码点此下载
======================================================

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^)/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值