易度軟件

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            10 Posts :: 1 Stories :: 43 Comments :: 0 Trackbacks
           AJAXPRC是快速、簡單的Javascript遠程方法調(diào)用。它允許你使用Javascript調(diào)用服務(wù)端方法,基于JSON數(shù)據(jù)協(xié)議,開源授權(quán)(LGPL),可同步和異步調(diào)用。

          使用AJAXRPC,您可以像開發(fā)傳統(tǒng)的C/S程序一樣,來開發(fā)WEB程序,讓W(xué)EB開發(fā)更簡單和高效。

          支持服務(wù)端語言:Java、.Net、PHP。
          支持瀏覽器:IE、FireFox、Opera、Safari、Chrome。

          下面簡單演示一下大概的使用方式, 具體可以去網(wǎng)站去看.

          首先,我們在服務(wù)端定義了一個類和靜態(tài)方法:
          public class Test {
              
          public static String sayHello(String name){
                  
          return "hello, " + name;
              }
          }


          注意:必須是公開的靜態(tài)方法。

          然后,我們使用AJAXRPC客戶端,對服務(wù)端的方法進行調(diào)用。

          注意:在調(diào)用RPC方法時,如果沒有傳遞回調(diào)函數(shù),則是同步調(diào)用;如果傳遞回調(diào)函數(shù),則是異步調(diào)用。

          同步調(diào)用
          <script type="text/javascript">

          Test.sayHello(
          'world!',
              function(obj){          
          //success callback function
                  
              },
              function(error, message){    
          //fail callback function
              }

          );

          </script>


          不傳遞回調(diào)函數(shù),以try…catch來處理錯誤。在同步調(diào)用模式下,如果有網(wǎng)絡(luò)錯誤、業(yè)務(wù)邏輯錯誤等,會拋出一個異常。

          異步調(diào)用
          <script type="text/javascript">

          Test.sayHello(
          'world!',
              function(obj){          
          //success callback function
                  
              },
              function(error, message){    
          //fail callback function
              }

          );

          </script>


          傳遞回調(diào)函數(shù)作為參數(shù)。如果只有一個回調(diào)函數(shù), 則默認是成功的回調(diào)


          這種數(shù)據(jù)交互方式非常方便和高效, 其實已經(jīng)有不少的基于WEB的RPC項目了, 如dwr(java), ajaxpro(.net), xajax(php)等, 不過他們都有或多或少的缺點.
          比如dwr, 它是有自己的一套數(shù)據(jù)協(xié)議, 造成的后果就是, 傳輸?shù)捏w積比JSON要大2倍以上.

          AJAXRPC是一個基于JSON數(shù)據(jù)協(xié)議的AJAX環(huán)境的RPC項目, 優(yōu)點是體積小, 實現(xiàn)簡單, 使用方便, 能支持java".net"php平臺, 而且是基于LGPL開源協(xié)議的, 可以比較方便應(yīng)用到項目中.

          項目網(wǎng)站: http://ajaxrpc.com
          中文翻譯地址: http://ajaxrpc.com/cn/index.html
          posted on 2010-10-10 13:08 edojs 閱讀(2301) 評論(4)  編輯  收藏

          Feedback

          # re: AJAXRPC讓javascript直接調(diào)用java方法 2010-10-10 20:49 @joe
          和dwr很想啊,dwr已經(jīng)比較成熟了,這有什么優(yōu)點???  回復(fù)  更多評論
            

          # re: AJAXRPC讓javascript直接調(diào)用java方法 2010-10-10 21:07 edojs
          DWR是自己的數(shù)據(jù)協(xié)議, 體積是JSON的2倍以上
            回復(fù)  更多評論
            

          # re: AJAXRPC讓javascript直接調(diào)用java方法 2010-10-12 12:47 Unmi
          很像 dwr,dwr 還是比較成熟的,在 struts2 中有相關(guān)插件,不知道這個 AjaxRpc 與 dwr 相比,優(yōu)勢在哪兒。  回復(fù)  更多評論
            

          # re: AJAXRPC讓javascript直接調(diào)用java方法 2010-10-12 21:12 edojs
          dwr的數(shù)據(jù)協(xié)議是自定義的, 不是JSON, 體積是JSON的2倍以上
          配置發(fā)布比較繁瑣  回復(fù)  更多評論
            


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 黄梅县| 鹤峰县| 荆门市| 图木舒克市| 达尔| 蓝山县| 丹凤县| 大荔县| 根河市| 涟水县| 射阳县| 夏津县| 博白县| 秭归县| 中牟县| 龙井市| 望都县| 陆良县| 安化县| 苏尼特左旗| 依兰县| 双柏县| 云阳县| 平遥县| 吐鲁番市| 通城县| 黄龙县| 庐江县| 江安县| 玛纳斯县| 溆浦县| 思茅市| 鹿泉市| 集安市| 绥芬河市| 太康县| 获嘉县| 松阳县| 许昌县| 兰溪市| 金华市|