我正在使用CI控制器和框架内开发的所有功能(Test_frame1)。现在来自不同的域,我想从我的CI框架中调用已识别的功能,即test_frame1。
如何拨打电话? Test_frame1可以公开任何可以直接从外部网站调用的Web服务吗? 如何将Web服务路由到CI控制器中的私有方法调用? 需要考虑哪种安全方面? 任何示例代码和解释都非常受欢迎。
谢谢,
答案 0 :(得分:0)
这样做的一种方法是使Test_frame1中的可重用函数可用作API调用。
这是一个很好的链接,但也是一个很长的阅读。
http://net.tutsplus.com/tutorials/php/working-with-restful-services-in-codeigniter-2/
答案 1 :(得分:0)
我有一些类似的问题,我解决了一点棘手,但它有效:)
我有一个用codeigniter制作的cms,它会为主站点生成静态文件,听起来很糟糕,但我尝试用其他方式说明:
root - cms_folder (codeigniter system)
- images
- js
- assets
- index.html
我想用codeigniter的控制器处理ajax请求,同时我想隐藏codeigniter文件夹的真实路径。为此,我在.htaccess文件中进行了重定向:
RewriteCond %{THE_REQUEST} ^.*ajax_action/(.*) [NC]
RewriteRule ^.*ajax_action/(.*) http://%{HTTP_HOST}/cms_folder/ajaxcall/$1 [NC,P]
我所做的ajax请求看起来像这样:
$.ajax({
'url': '/ajax_action/'+action, // action is the ajaxcall controller's function
'data' : {parameters},
'type': 'POST',
../ other ajax settings ...
});
我知道我的英语非常糟糕,但我希望我能在某个时候帮助这个人:)