- 論壇徽章:
- 0
|
本帖最后由 fcrong 于 2010-10-12 20:54 編輯
AJAXPRC是快速、簡(jiǎn)單的Javascript遠(yuǎn)程方法調(diào)用。它允許你使用Javascript調(diào)用服務(wù)端方法,基于JSON數(shù)據(jù)協(xié)議,開源授權(quán)(LGPL),可同步和異步調(diào)用。
使用AJAXRPC,您可以像開發(fā)傳統(tǒng)的C/S程序一樣,來(lái)開發(fā)WEB程序,讓W(xué)EB開發(fā)更簡(jiǎn)單和高效。
支持服務(wù)端語(yǔ)言:Java、.Net、PHP。
支持瀏覽器:IE、FireFox、Opera、Safari、Chrome。
最新版本: 1.0
最近更新: 2010-10-10 使用AJAXRPC
首先,我們?cè)诜⻊?wù)端定義了一個(gè)類和靜態(tài)方法: public class Test {
public static String sayHello(String name){
return "hello, " + name;
}
}
注意:必須是公開的靜態(tài)方法。
然后,我們使用AJAXRPC客戶端,對(duì)服務(wù)端的方法進(jìn)行調(diào)用。
注意:在調(diào)用RPC方法時(shí),如果沒(méi)有傳遞回調(diào)函數(shù),則是同步調(diào)用;如果傳遞回調(diào)函數(shù),則是異步調(diào)用。
同步調(diào)用
<script type="text/javascript">
......
try{
var obj = Test.sayHello('world!');
......
}catch(e){
//e.error 錯(cuò)誤碼
//e.message 錯(cuò)誤描述
}
......
</script>
不傳遞回調(diào)函數(shù),以try…catch來(lái)處理錯(cuò)誤。在同步調(diào)用模式下,如果有網(wǎng)絡(luò)錯(cuò)誤、業(yè)務(wù)邏輯錯(cuò)誤等,會(huì)拋出一個(gè)異常。
異步調(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ù)。如果只有一個(gè)回調(diào)函數(shù), 則默認(rèn)是成功的回調(diào)函數(shù)。
當(dāng)我們通過(guò)Javascript調(diào)用服務(wù)端方法時(shí),會(huì)傳遞一些參數(shù),這些參數(shù)有一個(gè)約定的類型轉(zhuǎn)換,如下表。
數(shù)據(jù)類型映射表 AJAXRPC支持基本數(shù)據(jù)類型、自定義類,不支持泛型。 Javascript | Java | .Net | Php | 說(shuō)明 | Number | Short,short
Integer,int
Long,long
Float,float
Double,double | short,Int16
int,Int32
long,Int64
float
Double,double | Integer
Float
Double | 數(shù)字類型之間沒(méi)有嚴(yán)格的界限,可以任意轉(zhuǎn)換 | Boolean | Boolean,boolean | Boolean,bool | Boolean | | String | String | String,string | String | | Date | Date | DateTime | String | 日期字符串”Y-m-d\TH:i:s“格式,php需要額外處理 | Object | HashMap,Map | Hashtable,IDictionary | Object | | Array | ArrayList,List | ArrayList,IList | Array | | null | null | null | NULL | |
AJAXRPC是一個(gè)基于JSON數(shù)據(jù)協(xié)議的AJAX環(huán)境的RPC項(xiàng)目, 優(yōu)點(diǎn)是體積小, 實(shí)現(xiàn)簡(jiǎn)單, 使用方便, 能支持java\.net\php平臺(tái), 而且是基于LGPL開源協(xié)議的, 可以比較方便應(yīng)用到項(xiàng)目中.
項(xiàng)目網(wǎng)站: http://ajaxrpc.com
中文翻譯地址: http://ajaxrpc.com/cn/index.html |
|