论坛首页 Web前端技术论坛

AJAXRPC: javascript调用服务端方法

浏览 5084 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-10-10   最后修改:2010-10-10
AJAXPRC是快速、简单的Javascript远程方法调用。它允许你使用Javascript调用服务端方法,基于JSON数据协议,开源授权(LGPL),可同步和异步调用。

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

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

下面简单演示一下大概的使用方式, 具体可以去网站去看.

首先,我们在服务端定义了一个类和静态方法:
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>


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


这种数据交互方式非常方便和高效, 其实已经有不少的基于WEB的RPC项目了, 如dwr(java), ajaxpro(.net), xajax(php)等, 不过他们都有或多或少的缺点.
比如dwr, 它是有自己的一套数据协议, 造成的后果就是, 传输的体积比JSON要大2倍以上.

ajaxrpc是一个基于JSON数据协议的AJAX环境的RPC项目, 优点是体积小, 实现简单, 使用方便, 能支持java\.net\php平台, 而且是基于LGPL开源协议的, 可以比较方便应用到项目中.

项目网站: http://ajaxrpc.com
中文翻译地址: http://ajaxrpc.com/cn/index.html
   发表时间:2010-10-10  
配置比dwr要简单一些
用了一下还不错
0 请登录后投票
   发表时间:2010-10-11  
PHP的怎么配置?有报错。
0 请登录后投票
   发表时间:2010-10-12  
PHP版本已经修复了.
原因是测试文件路径错误.
重新下载下就可以了
0 请登录后投票
   发表时间:2010-10-13  
楼主也太会搞了吧,将新闻改点东西就发贴了?: AJAXRPC让javascript直接调用服务端方法:http://www.iteye.com/news/18005-ajax-json-javascript-rpc
0 请登录后投票
   发表时间:2010-10-13  
呵呵 这个东西也简单, 整个就一篇教程就说明一切了
0 请登录后投票
   发表时间:2010-10-14  
要是能调用调用非静态方法就更好了
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics