我正在扩展AbstractRestfulController
并尝试将数据发布到我的create
函数,但是当我尝试使用params插件接收数据时,我得到一个空数组:
public function create() {
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
我使用保存功能从我的角度$resource
成功发布并获取此信息:
{"data":[]}
为什么params插件没有获取参数的任何想法?还有什么我可以尝试的吗?
答案 0 :(得分:1)
create()
函数必须在参数列表中指定$data
变量:
public function create($data) {
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
似乎框架传递了$_POST
超全局。
答案 1 :(得分:0)
使用$this->params()->fromPost()
时,您应该在Action中使用它。
示例:
public function createAction()
{
$data = $this->params()->fromPost();
return new JsonModel(array('data' => $data));
}
目前,您只使用未解析的标准函数名称。因此,在这种情况下,您需要将POSTed数据传递给该函数$this->create($data);
答案 2 :(得分:0)
您希望将哪些内容发送到服务器?
Angular将所有内容作为原始JSON(mimetype application / json)发送,而不是application / x-www-form-urlencoded。因此,它不会出现在$_POST
中,而是可以通过以下方式获得:
$json = json_decode(file_get_contents('php://input'));
也许您的框架有一种更简单的方法。