0

我正在使用 cakephp 来处理通过 post 发送接收数据...如何将作为 post 数据传入的数组存储到控制器内部声明的数组中?我正在这样做:

$data = array();
      if($this->request->is('post')){
      $data =$this->request->data;
        debug($data);

但它显示为响应:

array()

请帮忙!

PS-我正在使用内置方法通过使用 REST 的 URL 发布数据。例如。我发布到 /localhost/cakephp/users.json 以在 json 中发送以下数据:{"user":"asdasd","pass":"asdas"}。我只需要某种方法将其与数据库中的登录密码进行比较,但我无法确定我是否正在接收数据!

4

2 回答 2

0

如果您使用 ajax 发布数据,您的 contentType 是 application/x-www-form-urlencoded。如果我作为 application/json 发布,我在控制器中有空的 $this->data 字段。

于 2013-09-14T21:31:32.830 回答
0

我找到了答案:)

$data=$this->request->input('json_decode');

这会将 post json 请求保存到名为 $data 的变量中。

$this->set(array(
                          'data' => $data,
              '_serialize' => array('data')));

之后,上述代码可用于发送回与 JSON 响应相同的数据。

于 2013-09-16T09:20:41.737 回答