我正在扩展AbstractRestfulController
并尝试将数据发布到我的create
函数中,但是当我尝试使用params插件接收数据时,会得到一个空数组:
public function create() {
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
我成功地使用了保存函数从我的角度$resource
上发布了文章,并获得了如下结果:
{"data":[]}
知道为什么params插件没有得到参数吗?还有什么我可以试试的吗?
发布于 2014-01-10 13:40:08
create()
函数必须在参数列表中指定$data
变量:
public function create($data) {
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
似乎该框架随后传递到了$_POST
超级全局。
发布于 2014-01-10 12:39:56
当使用$this->params()->fromPost()
时,您应该在一个操作中使用它。
示例:
public function createAction()
{
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
目前,您只使用未被解析的标准函数名。因此,在这种情况下,需要将POSTed数据传递给函数$this->create($data);
发布于 2014-01-10 13:34:14
您期望被发送到服务器的是什么?
角发送所有的原始JSON (mimetype application/json),而不是application/x form-urlencoded。因此,它不会出现在$_POST
中,而是可以通过以下方法获得:
$json = json_decode(file_get_contents('php://input'));
也许您的框架有一个更简单的方法。
https://stackoverflow.com/questions/21053809
复制相似问题