【问题标题】:Can't get POST parameters in controller无法在控制器中获取 POST 参数
【发布时间】:2018-09-19 17:55:14
【问题描述】:

我正在尝试使用 Symfony,并且正在尝试发出 POST 请求。但我似乎无法在控制器中获取请求的 POST 参数。

/**
 * @Route("/messages/comment/post/", methods={"POST"}, name="postComment")
 */
public function postComment($messageId, $comment)
{
    $statuscode = 200;
    $response = null;
    try {
        $response = $this->messageModel->postComment($messageId, $comment);
    } catch (\PDOException $exception) {
        var_dump($exception);
        $statuscode = 500;
    }
    return new JsonResponse($response, $statuscode);
}

如何为此定义参数?

【问题讨论】:

  • 您到底想做什么?这个变量 messageModel 是什么?它在哪里定义?请更清楚
  • messageModel 将发布的参数插入数据库。我想要做的是捕获 $messageId 和 $comment 作为帖子。但是如何定义这些参数呢?

标签: php symfony symfony-routing


【解决方案1】:

要在控制器中获取 POST 参数,您应该使用:

use Symfony\Component\HttpFoundation\Request;
....
/**
 * @Route("/messages/comment/post/", methods={"POST"}, name="postComment")
 */
public function postComment(Request $request){

    $messageId = $request->request->get('messageId');
    $comment = $request->request->get('comment');
    ...
}

文档here

【讨论】:

  • 谢谢!这确实是我一直在寻找的。​​span>
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-30
  • 2020-09-24
  • 1970-01-01
相关资源
最近更新 更多