Cake php Post请求错误:在此服务器上找不到请求的地址

时间:2015-06-02 10:53:44

标签: php cakephp

当我尝试向我的功能发布帖子请求时,我最终得到了上述区域。

我的控制器:

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”发布帖子请求时,我收到错误,但是对同一网址的获取请求会给出正确的回复

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'));

即使该功能没有渲染任何视图,路由也必须在那里。