AJAXRPC让javascript直接调用服务端方法

作者: nick 分类: ajax, html, java, js, php 发布时间: 2010-10-11 06:40 ė 63条评论

AJAXPRC是快速、简单的Javascript远程方法调用。它允许你使用Javascript调用服务端方法,基于JSON数据协议,开源授权(LGPL),可同步和异步调用。

使用AJAXRPC,您可以像开发传统的C/S程序一样,来开发WEB程序,让WEB开发更简单和高效。

支持服务端语言:Java、.Net、PHP。
支持浏览器:IE、FireFox、Opera、Safari、Chrome。

最新版本: 1.0
最近更新: 2010-10-10

使用AJAXRPC

首先,我们在服务端定义了一个类和静态方法:

public class Test {
	public static String sayHello(String name){
		return "hello, " + name;
	}
}

注意:必须是公开的静态方法。

然后,我们使用AJAXRPC客户端,对服务端的方法进行调用。

注意:在调用RPC方法时,如果没有传递回调函数,则是同步调用;如果传递回调函数,则是异步调用。

同步调用

<script type="text/javascript">
......
try{
    var obj = Test.sayHello('world!');
    ......
}catch(e){
    //e.error 错误码
    //e.message 错误描述
}
......
</script>

不传递回调函数,以try…catch来处理错误。在同步调用模式下,如果有网络错误、业务逻辑错误等,会抛出一个异常。

异步调用

<script type="text/javascript">
......
Test.sayHello('world!',
    function(obj){          //success callback function
        ......
    },
    function(error, message){    //fail callback function
    }

);
......
</script>

传递回调函数作为参数。如果只有一个回调函数, 则默认是成功的回调函数。

当我们通过Javascript调用服务端方法时,会传递一些参数,这些参数有一个约定的类型转换,如下表。

数据类型映射表

AJAXRPC支持基本数据类型、自定义类,不支持泛型。

Javascript Java .Net Php 说明
Number Short,short
Integer,int
Long,long
Float,float
Double,double
short,Int16
int,Int32
long,Int64
float
Double,double
Integer
Float
Double
数字类型之间没有严格的界限,可以任意转换
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是一个基于JSON数据协议的AJAX环境的RPC项目, 优点是体积小, 实现简单, 使用方便, 能支持java\.net\php平台, 而且是基于LGPL开源协议的, 可以比较方便应用到项目中.

项目网站: http://ajaxrpc.com
中文翻译地址: http://ajaxrpc.com/cn/index.html

开发指南:

[wp-pdf-view swf=”http://www.uini.net/resource/files/AJAXRPC-Developer-Guide.swf”
width=”620px”
height=”1000px”
player=”1″
/]

本文出自 传播、沟通、分享,转载时请注明出处及相应链接。

本文永久链接: https://www.nickdd.cn/?p=1106

发表评论

您的电子邮箱地址不会被公开。

Ɣ回顶部