Atitit.js javascript的rpc框架选型
3. json-rpc轻量级远程调用协议介绍及使用2
3.1. 2.3、JavaScript客户端调用示例2
1. Dwr
Dwr要自己一个method挑选了,麻烦的..
2. 使用AJAXRPC
在调用RPC方法时,如果没有传递回调函数,则是同步调用;如果传递回调函数,则是异步调用。
2.1.1.1. 同步调用
2.1. 数据类型映射表
AJAXRPC支持基本数据类型、自定义类,不支持泛型。
Javascript | Java | .Net | Php | 说明 |
Number | Short,short | short,Int16 | Integer | 数字类型之间没有严格的界限,可以任意转换 |
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开发者知不知道静态方法和实例方法的差别?!!
静态方法在内存始终都有一份拷贝,也就意味着内存始终被耗用,无法释放,同时静态方法不利于调试
3. json-rpc轻量级远程调用协议介绍及使用
这个项目能够帮助开发人员利用Java编程语言轻松实现JSON-RPC远程调用
json-rpc协议非常简单,发起远程调用时向服务端传输数据格式如下:
{ "method": "sayHello", "params": ["Hello JSON-RPC"], "id": 1}
3.1. 2.3、JavaScript客户端调用示例
基于jsonrpcjs的JavaScript客户端调用示例:
var rpc = new jsonrpc.JsonRpc('http://127.0.0.1:8080/index.json');
rpc.call('getSystemProperties', function(result){
alert(result);
});
3.2. 2.4、直接GET请求进行调用
无需任何客户端,只需手工拼接参数进行远程调用,请求URL如下:
http://127.0.0.1:8080/index.json?method=getSystemProperties&id=3325235235235¶ms=JTViJTVk
参数说明:
method : 方法名
params :调用参数,json的数组格式[], 将参数需先进行url编码,再进行base64编码
id : 调用标识符,任意值
4. atiri