在 ctp 文件中使用 requestAction 结果却变成了空白页
我使用 cakePHP 1.26。
当我尝试使用 requestAction 从 .ctp 访问 COntroller 中的函数时,网页变成空白。
这是代码:
<?php
class TestingController extends AppController {
function hello($id=null){
$IfLoggedIn=$this->Session->check('user');
if($IfLoggedIn){
//search the database
//$result=doing something from the search results
$this->set('userInfo',$result);
return "2";
}
else if(!$IfLoggedIn && $id!=null){
return "1";
}
else if($id==null){
return "0";
}
}
}
然后在default.ctp文件中,我使用了上面定义的函数:
<?php
$u = $this->requestAction('/hello');
if($u=="2"){
echo "welcome back, my friend";
}
else{
echo "Hello World";
}
?>
但是当我加载网页时,它是空白页面。
我不知道代码有什么问题。
I am using cakePHP 1.26.
The web page turned out blank when I tried to use requestAction to access a function in a COntroller from a .ctp.
Here is the code:
<?php
class TestingController extends AppController {
function hello($id=null){
$IfLoggedIn=$this->Session->check('user');
if($IfLoggedIn){
//search the database
//$result=doing something from the search results
$this->set('userInfo',$result);
return "2";
}
else if(!$IfLoggedIn && $id!=null){
return "1";
}
else if($id==null){
return "0";
}
}
}
and then in default.ctp file, I made use of the function defined above:
<?php
$u = $this->requestAction('/hello');
if($u=="2"){
echo "welcome back, my friend";
}
else{
echo "Hello World";
}
?>
But when I load a web page, it was blank page.
I have no idea what's wrong in the code.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
尝试添加
检查此
Try to add
Check this
您可以尝试将控制器包含在 requestAction 的 url 参数中。
如果您花更多时间调试和阅读手册,您将学到更多、更快。
You might try including the controller in the url param of requestAction.
If you spend more time debugging and reading the manual, you'll learn more, more quickly.
我自己是 Cakephp 的新手,我使用的是 2.0,这可能与您的 Cakephp 版本有所不同。
我发现手册中的以下代码对我来说是错误的:
您需要稍作修改(在这种情况下手册似乎是错误的)。以下代码对我有用:
我们不应该检查请求 HTTP 动词,我们应该检查请求参数是否为 true。
这是有关请求参数的手册的另一个相关链接: http://book.cakephp.org/2.0/en/controllers/request-response.html#accessing-request-parameters
希望有所帮助。
I'm new to Cakephp myself, I'm using 2.0 which may be different in your version of Cake.
I found that the following code from the manual was wrong for me:
You need a slight modification (seems the manual was wrong in this case). The following code worked for me:
We shouldn't be checking for the request HTTP verb, we should be checking if the request parameter is true.
Here's another relevant link to the manual about request parameters: http://book.cakephp.org/2.0/en/controllers/request-response.html#accessing-request-parameters
Hope that helps.