如何实现 JavaScript RPC 应用
作者:谢声涛 shishengsoft@gmail.com
一、一个 JavaScript RPC 的实现
1、RPC工作流程
JavaScript RPC 的简单实现过程是:
在客户端JavaScript脚本中,将要调用的服务端PHP函数名和函数参数(本地的JavaScript变量值)作为要传输的数据,通过Ajax传输到服务端,同时,Ajax设置一个回调函数,以便使用服务端函数的返回结果。在服务端PHP脚本中,接收Ajax传输的数据,从中取出要执行的函数名和函数参数。然后执行指定的函数,并将执行函数的返回值作为传输的数据,直接输出到浏览器,以此作为响应AJax的请求。客户端的Ajax在接受服务端的响应后,把返回的数据传递给AJax的回调函数。到此完成了一个RPC的流程。
2、传输的数据
在RPC执行过程中,客户端与服务端需要相互传输数据,我们分别称之为客户端数据和服务端数据。对此的说明如下表:
客户端数据:
函数名:服务端PHP脚本中存在的函数。
函数参数:客户端JavaScript脚本中的变量值。
服务端数据:
函数返回值:执行服务端PHP函数的返回值。
3、序列化与反序列化
为了要传输客户端的变量值和服务端的函数返回值,需要对其进行序列化处理。与之相对应的在传输后还