<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    風(fēng)之力

    BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
      19 Posts :: 2 Stories :: 18 Comments :: 0 Trackbacks

    傳遞額外的數(shù)據(jù)到callback函數(shù)

    通常我們需要傳遞額外的數(shù)據(jù)到callback函數(shù),但是因?yàn)樗械幕卣{(diào)函數(shù)都只有一個(gè)參數(shù)(遠(yuǎn)程方法的返回結(jié)果),這就需要一些小技巧了。

    解決方案就是使用Javascript的閉包特性。

    例如,你的回調(diào)函數(shù)原本需要像這個(gè)樣子:

    function callbackFunc(dataFromServer, dataFromBrowser) { 
    // 用dataFromServer和dataFromBrowser做些事情...... 
    }

    那么你可以像這個(gè)組織你的函數(shù):

    								var dataFromBrowser = ...; 
    
    // 定義一個(gè)閉包函數(shù)來(lái)存儲(chǔ)dataFromBrowser的引用,并調(diào)用dataFromServer 
    var callbackProxy = function(dataFromServer) { 
    callbackFunc(dataFromServer, dataFromBrowser); 
    }; 
    
    var callMetaData = { callback:callbackProxy }; 
    
    Remote.method(params, callMetaData);

    (調(diào)用元數(shù)據(jù)在腳本介紹中有解釋)

    換句話說(shuō),現(xiàn)在你作為callback函數(shù)傳遞過(guò)來(lái)的不是一個(gè)真正的callback,他只是一個(gè)做為代理的閉包,用來(lái)傳遞客戶端的數(shù)據(jù)。

    你可以用更簡(jiǎn)介的形式:

    								var dataFromBrowser = ...; 
    Remote.method(params, { 
    callback:function(dataFromServer) { 
    callbackFunc(dataFromServer, dataFromBrowser); 
    } 
    });
    posted on 2007-03-06 15:24 風(fēng)之力 閱讀(3128) 評(píng)論(6)  編輯  收藏 所屬分類: ajax

    Feedback

    # re: dwr回調(diào)傳遞多個(gè)參數(shù) 2007-06-19 15:53 IT進(jìn)行時(shí)
    翻譯的不錯(cuò),但好像不行。  回復(fù)  更多評(píng)論
      

    # re: dwr回調(diào)傳遞多個(gè)參數(shù) 2007-06-20 21:24 windforce
    可以的 我自己測(cè)試過(guò)的~~沒(méi)有問(wèn)題啊
    這是轉(zhuǎn)的...  回復(fù)  更多評(píng)論
      

    # re: dwr回調(diào)傳遞多個(gè)參數(shù)[未登錄](méi) 2008-01-08 15:35 a
    <script>
    alert(1);
    </script>  回復(fù)  更多評(píng)論
      

    # re: dwr回調(diào)傳遞多個(gè)參數(shù) 2008-11-14 11:34 yorkwy@gmail.com
    循環(huán)中呢?
    var names = document.getElementsByName('testName');
    for(var i=0;i<names.length;i++){
    var id = names[i].id;
    service.getText(id,{callback:function(data){
    alert(id);
    alert(data);

    }
    });
    }
    輸出的最后一次的。  回復(fù)  更多評(píng)論
      

    # re: dwr回調(diào)傳遞多個(gè)參數(shù) 2008-11-14 11:35 yorkwy@gmail.com
    循環(huán)中呢?
    var names = document.getElementsByName('testName');
    for(var i=0;i<names.length;i++){
    var id = names[i].id;
    service.getText(id,{callback:function(data){
    alert(id);
    alert(data);

    }
    });
    }
    輸出的最后一次的。  回復(fù)  更多評(píng)論
      

    # re: dwr回調(diào)傳遞多個(gè)參數(shù) 2009-05-08 17:22 xskow!
    這個(gè)就等于定義全局變量而已吧?都用不著封裝呢  回復(fù)  更多評(píng)論
      


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲成AV人片天堂网无码| 亚洲制服丝袜第一页| 久久精品国产免费观看三人同眠| 亚洲综合男人的天堂色婷婷| 在线观看免费国产视频| 国产在线国偷精品免费看| 亚洲精品无码久久久久久久 | 日韩在线视频播放免费视频完整版| 伊人久久亚洲综合| 日韩一区二区a片免费观看| 四虎一区二区成人免费影院网址 | 亚洲国产成人一区二区精品区| 91手机看片国产永久免费| 一级黄色免费大片| 亚洲熟妇av一区| 国产亚洲老熟女视频| 亚洲国产美女视频| 亚洲国产精品专区在线观看| 国产91免费在线观看| 中文字幕永久免费视频| 亚洲日本VA午夜在线电影| 婷婷久久久亚洲欧洲日产国码AV| 中文字幕免费在线看| 亚洲日韩精品无码专区| 亚洲国产精品婷婷久久| 亚洲一级片内射网站在线观看| 成人免费毛片内射美女APP| 免费黄色电影在线观看| 四虎永久在线精品免费一区二区| 亚洲啪啪免费视频| 亚洲av一综合av一区| 亚洲精品和日本精品| 在线中文高清资源免费观看| 最近中文字幕高清免费中文字幕mv | 免费视频成人国产精品网站| 亚洲国产精品无码久久一区二区| 国产真实伦在线视频免费观看| 免费大片黄在线观看yw| 91视频免费网址| 久久午夜夜伦鲁鲁片免费无码| 久久毛片免费看一区二区三区|