我正在编写一个Web服务来验证用户登录是否有效。下面是放置在UsersController.php
中的Web服务的简单实现public function webservice_login()
{
$this->autoRender = false;
if ($this->request->is('post'))
{
if ($this->Auth->login())
{
echo json_encode(array('ok_msg' => 'User authentication success'));
}
else
{
echo json_encode(array('fail_msg' => 'User authentication failure'));
}
}
}
它不起作用。我收到的错误信息是这样的;
\n\tError: \n\tPostsController could not be found.
\n
\n\tError: \n\tCreate the class PostsController below in file: app\\Controller\\PostsController.php
\n
\n<?php\nclass PostsController extends AppController {\n\n}\n
\n
\n\tNotice: \n\tIf you want to customize this error message, create app\\View\\Errors\\missing_controller.ctp
代码有什么问题?我该如何重写网络服务?我正在使用Cakephp 2.5。奇怪的是,我首先没有名为Post的控制器。
答案 0 :(得分:1)
错误非常清除,只需阅读错误消息:
\ n \ t:错误:找不到\ n \ t \ tPostsController。
确保您的控制器存在。
您实现JSON响应的方式也不是CakePHP'ish。请参阅http://book.cakephp.org/2.0/en/views/json-and-xml-views.html如何做得更好。
我建议您使用JSEND作为回复格式来传达状态。
答案 1 :(得分:0)
确保您没有使用Short hand php tag:
此错误可能是由于使用短的php标记,即"<? ?>"
。
我建议您使用"<?php ?>"
。