日期:2014-05-16  浏览次数:20835 次

给Ajax.Request的onComplete事件增加自己定义的参数
Ajax.Request 是 prototype.js 最重要的一个成员。

JavaScript代码


                view plaincopy to clipboardprint?
/* 以下代码来自项目中的帮助模块 */       
HELP.showDefined = function(hid,objid){       
    var obj = $(objid);       
    //显示 正在加载中... 的信息       
    obj.innerHTML = HELP.LOADING_TEXT ;       
    var url = "helpmanagerview.do?act=content&defined=1&hid="+hid;       
    new Ajax.Request(url,{asynchronous:true,onComplete:HELP.definedRequest(obj)});        
    return false;       
}       
/* Ajax onComplete事件 调用函数 */       
HELP.definedRequest = function(obj){       
   //以下虚拟函数可以取到httpRequest对象       
   return function(httpRequest){obj.innerHTML = httpRequest.responseText;};       
}    
/* 以下代码来自项目中的帮助模块 */    
HELP.showDefined = function(hid,objid){    
    var obj = $(objid);    
    //显示 正在加载中... 的信息    
    obj.innerHTML = HELP.LOADING_TEXT ;    
    var url = "helpmanagerview.do?act=content&defined=1&hid="+hid;    
    new Ajax.Request(url,{asynchronous:true,onComplete:HELP.definedRequest(obj)});     
    return false;    
}    
/* Ajax onComplete事件 调用函数 */    
HELP.definedRequest = function(obj){    
   //以下虚拟函数可以取到httpRequest对象    
   return function(httpRequest){obj.innerHTML = httpRequest.responseText;};    
}  

以上是转帖的调用,而我自己的调用是

     var  myAjax = new Ajax.Request(
      requestURL,
      { 
         method: 'POST',
         parameters:params,
         onComplete: varTabResponse(actTabObject),
         asynchronous:true
      });

var varTabResponse=function(parObjId){

       return function(httpRequest){
             parObjId.innerHTML= httpRequest.responseText;
       };
}

http://blog.csdn.net/jjjsss82/archive/2009/06/29/4307058.aspx