我正在使用Symfony 2开发一个项目,我已经建立了一个捆绑包来处理我的所有数据库服务,这些服务来回传递JSON数据。
我的问题/问题:
是否可以发布简单的JSON对象?目前,我通过给对象起一个名字来欺骗我的ajax调用的普通表单帖子,json={"key":"value"}如果我不给它起一个名字,我似乎无法从Symfony请求对象中获取数据。$JSON = $request->request->get('json');
json={"key":"value"}
$JSON = $request->request->get('json');
我希望能够使用一个服务包来处理来自AJAX调用或常规Symfony形式的数据。目前,我采用提交的Symfony表单,然后使用JSON_ENCODE获取数据,但是我无法弄清楚如何将数据发布到期望请求数据的服务控制器中。
总结一下:
我希望Symfony接受JSON post对象而不是表单。
我想使用请求/响应在控制器之间传递JSON对象
如果我要解决所有这些错误,请随时告诉我!
如果要在控制器中检索作为请求主体中的标准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对象。
$params
true
json_decode()
stdClass