首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zend Framework params插件不检索post params

Zend Framework params插件不检索post params
EN

Stack Overflow用户
提问于 2014-01-10 20:29:06
回答 3查看 205关注 0票数 0

我正在扩展AbstractRestfulController并尝试将数据发布到我的create函数中,但是当我尝试使用params插件接收数据时,会得到一个空数组:

代码语言:javascript
复制
public function create() {
        $data = $this->params()->fromPost();
        return new JsonModel(array('data' => $data));
 }

我成功地使用了保存函数从我的角度$resource上发布了文章,并获得了如下结果:

代码语言:javascript
复制
{"data":[]}

知道为什么params插件没有得到参数吗?还有什么我可以试试的吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-01-10 21:40:08

create()函数必须在参数列表中指定$data变量:

代码语言:javascript
复制
public function create($data) {
        $data = $this->params()->fromPost();
        return new JsonModel(array('data' => $data));
 }

似乎该框架随后传递到了$_POST超级全局。

票数 1
EN

Stack Overflow用户

发布于 2014-01-10 20:39:56

当使用$this->params()->fromPost()时,您应该在一个操作中使用它。

示例:

代码语言:javascript
复制
public function createAction()
{
    $data = $this->params()->fromPost();

    return new JsonModel(array('data' => $data));
}

目前,您只使用未被解析的标准函数名。因此,在这种情况下,需要将POSTed数据传递给函数$this->create($data);

票数 0
EN

Stack Overflow用户

发布于 2014-01-10 21:34:14

您期望被发送到服务器的是什么?

角发送所有的原始JSON (mimetype application/json),而不是application/x form-urlencoded。因此,它不会出现在$_POST中,而是可以通过以下方法获得:

代码语言:javascript
复制
$json = json_decode(file_get_contents('php://input'));

也许您的框架有一个更简单的方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21053809

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档