一尘不染

将JSON对象发布到Symfony 2

php

我正在使用Symfony 2开发一个项目,我已经建立了一个捆绑包来处理我的所有数据库服务,这些服务来回传递JSON数据。

我的问题/问题:

  • 是否可以发布简单的JSON对象?目前,我通过给对象起一个名字来欺骗我的ajax调用的普通表单帖子,json={"key":"value"}如果我不给它起一个名字,我似乎无法从Symfony请求对象中获取数据。$JSON = $request->request->get('json');

  • 我希望能够使用一个服务包来处理来自AJAX调用或常规Symfony形式的数据。目前,我采用提交的Symfony表单,然后使用JSON_ENCODE获取数据,但是我无法弄清楚如何将数据发布到期望请求数据的服务控制器中。

总结一下:

  • 我希望Symfony接受JSON post对象而不是表单。

  • 我想使用请求/响应在控制器之间传递JSON对象

如果我要解决所有这些错误,请随时告诉我!


阅读 220

收藏
2020-05-29

共1个答案

一尘不染

如果要在控制器中检索作为请求主体中的标准JSON发送的数据,则可以执行以下操作:

public function yourAction()
{
    $params = array();
    $content = $this->get("request")->getContent();
    if (!empty($content))
    {
        $params = json_decode($content, true); // 2nd param to get as array
    }
}

现在$params将是一个充满您的JSON数据的数组。删除调用中的true参数值json_decode()以获取stdClass对象。

2020-05-29