这两天在做项目的过程中,接触到了hprose,发现这家伙支持的还是蛮全的。
hprose官方:
http://www.hprose.com/
然后就着手配置起来。
服务器端的使用请参见该地址:
http://document.thinkphp.cn/manual_3_2.html#rpc
客户端的话,我使用的是html5,可参见以下地址:
https://github.com/hprose/hprose-html5
直接使用其下的test.html即可进行测试:
源码及注释如下图所示:
服务器示例代码如下所示:
请求成功的话会出现如下界面:
请求失败的话,则会出现如下界面:
大体意思是因为跨域的问题导致无法完成请求。
解决方法一:
1、若你使用的是apache服务器,则按如下步骤进行
2、取消apache服务器配置文件http.conf下的
LoadModule headers_module modules/mod_headers.so
前面的注释
3、在apache服务器的虚拟主机配置文件中追加以下文字即可
Header add Access-Control-Allow-Origin *
Header add Access-Control-Allow-Methods “GET, POST, OPTIONS”
Header add Access-Control-Allow-Headers “Content-Type”
若需要针对特定域名,可改写为如下
Header add Access-Control-Allow-Origin http://itinfor.cn
本人的apache版本为2.4,其余版本配置情况基本一致
解决方法二:
(该方法独立配置与方法一无关)
可参见该链接:
http://www.thinkphp.cn/topic/29122.html
protected $crossDomain = true;
protected $P3P = true;
protected $get = true;
protected $debug = true;
本人测试只需添加protected $crossDomain = true;
即可实现跨域请求
如果还有什么不明白的地方,欢迎加我QQ进行咨询,请注明技术咨询
本人QQ:980569038
也可以扫码本人微信:
本人原创,转载请注明出处 http://www.itinfor.cn/archives/999
若该文章对您有一定帮助,欢迎打赏