prototype.js 的 Ajax.updater 的 用法

     如果你的服务器的另一端返回的信息已经是 HTML 了,那么使用这个程序包中 Ajax.Updater 类将使你的生活变得更加得容易。

ajax.updater 方法有3个参数: ajax.updater(container, url, options)
分别表示 1.控件id;2.请求的url;3.具体如下(可选):

属性类型Default描述
methodArray'post'HTTP 请求方式。get or post
parametersString''在HTTP请求中传入的url格式的值列表。
asynchronousBooleantrue指定是否做异步 AJAX 请求。
postBodyStringundefined在HTTP POST的情况下,传入请求体中的内容。
requestHeadersArrayundefined和请求一起被传入的HTTP头部列表, 这个列表必须含有偶数个项目, 任何奇数项目是自定义的头部的名称, 接下来的偶数项目使这个头部项目的字符串值。 例子:['my-header1', 'this is the value', 'my-other-header', 'another value']
onXXXXXXXXFunction(XMLHttpRequest)undefined在AJAX请求中,当相应的事件/状态形成的时候调用的自定义方法。 例如 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};. 这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。
onSuccessFunction(XMLHttpRequest)undefined当AJAX请求成功完成的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。
onFailureFunction(XMLHttpRequest)undefined当AJAX请求完成但出现错误的时候调用的自定义方法。 这个方法将被传入一个参数, 这个参数是携带AJAX操作的 XMLHttpRequest对象。
insertionFunction(Object, String)null为了把返回的文本注入到一个元素中而执行的方法。 这个方法将被传入两个参数,要被更新的对象并且只应用于 Ajax.Updater 的响应文本 。
evalScriptsBooleanundefined, false决定当响应到达的时候是否执行其中的脚本块,只在 Ajax.Updater 对象中应用。
decayNumberundefined, 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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值