我设法使用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');
}
答案 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会有效地忽略内容,因此不会拾取正文中的参数。