浏览模式: 标准 | 列表
废话不多说了,这个是实现了 PHPRPC 2.0 协议的 Ajax 客户端,支持大量数据的提交处理,支持异步和同步数据处理(推荐用异步方式),支持数据加密传输。使用方法同纯 JavaScript 的 PHPRPC 2.0 客户端的使用方法,要修改同步或异步调用的话,方法同 PHPRPC 1.1 的 Ajax 客户端实现2006年3月17日 更新 给客户端异步调用时增加了 warning 的回调参数,在发生非致命错误时可以通过它来获取警告错误信息。 给客户端同步调用时增加了 warning 属性,在发生非致命错误时可以通过它来获取警告错误信息。 演示程序:http://test.coolcode.cn/phprpc/jsphprpc/ajaxphprpc.html

» 阅读全文

前面在 PHP 远程过程调用 —— PHPRPC 一文中,我们定义了一个轻型的专用于 PHP 的远程过程调用协议 PHPRPC,并给出了该协议服务器端和客户端的 PHP 实现。 后来又完成了 PHPRPC 的 JavaScript 客户端实现,这个实现并没有使用 XMLHTTP,而是使用的远程脚本调用技术,可以实现跨域访问,这一点要比使用 XMLHTTP 的 Ajax 实现灵活。并且对于老一些的不支持 XMLHTTP 的浏览器,远程脚本调用技术支持更好一些。 但是远程脚本调用技术也有不及 Ajax 技术的地方, 比如它无法提供同步调用方式,提交请求是使用的浏览器的 GET 提交方式,对提交的请求参数的长度有一定限制。而使用 Ajax 技术就可以使用同步调用机制(虽然我们可能很少会用到),而且可以使用 POST 方式提交请求,以便处理更长的请求参数。 在本文中,我们就将给出 PHPRPC 的 Ajax 客户端实现,该实现的异步调用使用方法跟 PHPRPC 的 JavaScript 客户端实现的使用方法完全相同,对使用PHPRPC 的 JavaScript 客户端实现的程序不需要做任何改动。 而且该实现使用了 POST 方法来提交 RPC 请求的内部机制,因此可以处理更长的请求参数。另外该实现提供了一个 async 属性,默认值为 true,表示默认是异步调用,如果将其设为 false,则可以使用同步调用,同步调用可以通过 args 属性来获得引用传递调用后的参数,通过 output 属性来获得服务器端输出。 这里也用到了 PHPRPC 的 JavaScript 客户端实现 中使用的其它几个关键的 JavaScript 程序,他们分别是 Object PHP_Serializerutf.js 和 base64.js。其代码可以参见 PHPRPC 的 JavaScript 客户端实现一文的附录。 另外如果要使该代码支持 Opera 7.60(beta),或者更老的 Opera 及其他浏览器,可以在使用时,多包含一个跨浏览器的 XMLHttpRequest 脚本即可。该代码也可以从本文附录下载。 给客户端异步调用时增加了 warning 的回调参数,在发生非致命错误时可以通过它来获取警告错误信息。 给客户端同步调用时增加了 warning 属性,在发生非致命错误时可以通过它来获取警告错误信息。 这里有一个简单的使用实例,点击此处查看效果。

» 阅读全文

前面在 PHP 实现的 PHPRPC 2.0 服务器端 一文中,我们给出了一个 PHPRPC 2.0 协议的服务器端实现,本文将给出 PHPRPC 2.0 客户端的 JavaScript 实现,并给出它的使用说明。 2006年3月17日 更新 给客户端增加了 warning 的回调参数,在发生非致命错误时可以通过它来获取警告错误信息。

» 阅读全文

前面在 PHP 远程过程调用 —— PHPRPC 一文中,我们定义了一个轻型的专用于 PHP 的远程过程调用协议 PHPRPC,并给出了该协议服务器端和客户端的 PHP 实现。 文章中还提到,该协议虽然是为 PHP 远程过程调用定义的,但是用其他语言同样可以实现。这里我将给出一个 JavaScript 的实现。该实现看上去很像 Ajax 技术,但是没有用到 XMLHTTP,因此该实现可以进行跨域访问,这一点比 Ajax 更灵活。也因为没有使用 XMLHTTP,所以该实现只提供异步调用方式,不提供同步调用方式,不过一般来说,做 Ajax 应用使用的就是异步调用,因此用该实现可以完全代替 Ajax。 这里用到了其它几个关键的 JavaScript 程序,他们分别是 Object PHP_Serializerutf.js 和 base64.js。在本文附录中,我也会给出这几个程序的代码(其中附录中的 phpserializer.js 程序作了少许修改,在对字符串进行序列化和解序列化时增加 utf8 与 utf16 相互转换的过程)。 2006年3月17日 更新 给客户端增加了 warning 的回调参数,在发生非致命错误时可以通过它来获取警告错误信息。 更多的更新历史见正文。 这里有一个简单的使用实例,点击此处查看效果。

» 阅读全文

为了避免服务器返回不必要的数据,我们将 PHPRPC 2.0 协议作了一次微小的升级。并给出 PHPRPC 2.1 协议的 PHP 服务器端实现。本文中我们将给出 PHP 实现的 PHPRPC 2.1 协议的客户端。它兼容 PHPRPC 1.1 和 2.0 服务器,调用方式与 PHPRPC 2.0 的 PHP 客户端调用方式相同,当服务器是 PHPRPC 2.1 服务器时,会自动按照 PHPRPC 2.1 协议通讯。 2006年3月17日 更新 增加了 warning 属性。

» 阅读全文