http://www.php100.com/html/webkaifa/javascript/2010/1011/6499.html
http://blog.csdn.net/crackcell/article/details/1786731
AJAXPRC是快速、简单的Javascript远程方法调用。它允许你使用Javascript调用服务端方法,基于JSON数据协议,开源授权(LGPL),可同步和异步调用。 使用AJAXRPC,您可以像开发传统的C/S程序一样,来开发WEB程序,让WEB开发更简单和高效。 支持服务端语言:Java AJAXPRC是快速、简单的Javascript远程方法调用。它允许你使用Javascript调用服务端方法,基于JSON数据协议,开源授权(LGPL),可同步和异步调用。
使用AJAXRPC,您可以像开发传统的C/S程序一样,来开发WEB程序,让WEB开发更简单和高效。
支持服务端语言:Java、.Net、PHP。
支持浏览器:IE、FireFox、Opera、Safari、Chrome。
下载: Java .Net PHP
博客
提交BUG
Developer Guide:English Chinese Japanese
最新版本: 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开源协议的, 可以比较方便应用到项目中
分享到:
相关推荐
[YOLOv7]基于YOLO&Deepsort的人流量统计系统(源码&部署教程)
Recognizecaptchabymachinelearning.机器学习识别图片验证码(专门应付本科毕业设计)_hy5
Python基于CycleGAN&pix2pix的黑白图像AI上色(源码&部署教程)
收录了「IT无知君」CSDN博客中涉及的【Java项目源码】,还有许多的开发工具类,都是我自己在用在不断维护的,需要请进!_hy5
coderwhycms后台接口使用nestjs+mysql+typeorm-prisam+docker+jwt+re_hy4
Java轻量化RBAC权限控制系统_hy4
3个小项目分别是利用Python实现报表自动化、某连锁超市、某银行数据分析,展示了问题分解、数据清洗、数据分析与可视化的过程。_hy4
前端分析-2023071100789
330 Series Campus Access Points IAP-334 IAP-335
【Swift】swift项目仿写喜马拉雅App,采用MVC+MVVM设计模式
ebay的python爬虫_hy4
【Java】一套自定义的RBAC权限管理框架,基于SpringMVC,mybatis_pgj
【go】基于微服务框架go-micro封装的go微服务脚手架_pgj
分布式事务-seata_hy5
【Java】jta分布式事务+多数据源_pgj
python写的12306爬虫,用的tkinter做可视化界面_hy5
音乐推荐系统,python编写,涉及flask框架,scrapy爬虫,MySQL数据库,selenium,chrome_hy4
Python网络爬虫从入门到放弃_hy4
318 Series Hardened Access Points 370 Series Outdoor Access Points 387 Series Outdoor Access Points 320 Series Campus Access Points 310 Series Campus Access Points IAP-315 IAP-325 IAP-324 IAP-314
最全的JAVA设计模式,包含原理图解+代码实现_hy5