当我尝试向我的功能发布帖子请求时,我最终得到了上述区域。
我的控制器:
public function app_new($profile_type) {
$this->autoRender = false;
// The default response
$response = array('status' => 'FAIL', 'message' => 'There was a problem.');
// Check the request is POST
if ($this->request->is('post')) {
// Get the current logged in users id
$sesh = $this->Auth->user();
$user_id = (isset($sesh['User']['id'])) ? $sesh['User']['id'] : null;
$response['status'] = 'OK';
$response['message'] = 'New post created successfully.';
}
echo json_encode($response);
}
当我尝试向网址发送帖子请求时,我得到了错误,但是如果我执行了获取请求,我会得到默认响应json。
因此,当我使用网址“http://localhost/app/messages/new/1”发布帖子请求时,我收到错误,但是对同一网址的获取请求会给出正确的回复
答案 0 :(得分:0)
我相信您使用$this->autoRender = false;
的原因是因为您要发送ajax请求。
如果是ajax,最好检查一下
if($this->request->is('ajax')){
//Do your coding here
}
此外,我没有看到您保存数据的位置,但您只需返回json_encode
,并注意json_encode
应该返回
if($this->request->is('ajax'))
阻止。
最后一件事,但并非最不重要,你还需要:
Router::connect('/app_new', array('controller' => 'yourController', 'action' => 'app_new'));
即使该功能没有渲染任何视图,路由也必须在那里。