使用symfony 1.4在RESTful Web服务中获取空POST参数

时间:2011-10-06 08:40:26

标签: php rest symfony1

我设法使用GET参数使用symfony制作了一堆web服务,但我需要使用POST参数进行注册web服务。

但是当我尝试获取那些POST参数时,例如$request->getParameter('test');,它们只返回一个空值。

怎么来的?

修改

这是一个简单的例子

testSuccess.json.php

{
   "test": <?php echo json_encode($test); ?>
}

action.class.php

public function executeTest(sfWebRequest $request) {
   $this->test = $request->getParameter('test');
}

And here's the result

3 个答案:

答案 0 :(得分:1)

这表明在您的请求中没有发送名为“email”的POST参数。除此之外,如果没有其他信息,没有其他人能说出你的问题。

答案 1 :(得分:1)

我遇到了同样的问题。似乎当一个人不使用

Content-Type: application/x-www-form-urlencoded

这些参数在Symfony中不可用。我在http文档中找不到任何指示这些方法的内容类型的内容。我已为此错误创建了symfony_ticket

因此,要解决您的问题,请将此Content-Type标头添加到您的请求中。

答案 2 :(得分:0)

有一种方法可以解决使用JSON对象帖子丢失POST参数的问题。您需要使用:

,而不是使用各种参数方法

$request->getContent()

它将JSON显示为帖子正文中的字符串。将内容设置为application / json后,Symfony会有效地忽略内容,因此不会拾取正文中的参数。