近日公司小网站要搞个webservice,最开始找到soap,发现简直就是坑哥呀,2个参数就要传递那么长的soap数据,性能不行啊(不可否认严格soap格式在重量级网站有绝对的优势)。
当我发现PHPRPC的时候,我笑了,彻底的笑了。
一见钟情啊!!有木有!!
相见恨晚啊!!有木有!!
踏破铁鞋无觅处得来全不费工夫!! 有木有!!
众里寻他千百度,暮然回首,那人在那穿着秋裤。有木有!!
这不就是我要找的吗,序列化传递方式,自定义加密,还可以会话管理。妙极了。。
当我发现PHPRPC的时候,我笑了,彻底的笑了。
一见钟情啊!!有木有!!
相见恨晚啊!!有木有!!
踏破铁鞋无觅处得来全不费工夫!! 有木有!!
众里寻他千百度,暮然回首,那人在那穿着秋裤。有木有!!
这不就是我要找的吗,序列化传递方式,自定义加密,还可以会话管理。妙极了。。
asp,jsp 没有测试,js是可以的
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jquery</title>
<!-- <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script> -->
<!-- <script type="text/javascript" src="https://getfirebug.com/firebug-lite.js"></script> -->
<script type="text/javascript" src="phprpc_3.0.1_js/compressed/phprpc_client.js"></script>
<script type="text/javascript">
function phpprcClient()
{
var client = new PHPRPC_Client('http://test.92wy.com/phprpc_server/server.php', ['hi']);
var as = new Array();
as[0] = 'aa';
as[1] = 'bb';
as[2] = 'cc';
//client.setKeyLength(256);
client.setEncryptMode(0);
client.hi('hello', 'login', as, function (result, args, output, warning) {
alert(result);
});
}
</script>
<style type="text/css">
</style>
</head>
<body>
<input id="btn" onclick="return phpprcClient()" type="button" value="button"/>
</body>
</html>PHP server端:
include('phprpc_server.php');
function hello($m, $a, $arr) {
$classname = $m.'control';
$control = new $classname();
$method = 'on'.$a;
if(method_exists($control, $method) && $a{0} != '_')
{
$data = $control->$method($arr);
return $data;
}
else
{
return 'error code : 00007';
}
}
$server = new PHPRPC_Server();
$server->add('hello', null, 'hi');
$server->initKey('key');
$server->setDebugMode(true);
$server->start();class hellocontrol
{
function onlogin($arr)
{
return $arr;
}
}
这就没什么值得炫耀的了
解决ajax跨域很不错,支持一下,拿来玩过,不过一直没用过这东西放到真实项目中