ZF2:返回布尔json响应的最简单方法是什么?

时间:2013-12-05 06:34:37

标签: json zend-framework zend-framework2

在ZF1中,发送一个json布尔响应非常容易,例如,在控制器使用中:

return $this->_helper->json(true);

在ZF2中重复此操作的最简单方法是什么?

我尝试使用变量数组创建一个新的JsonModel。数组中唯一的条目是我的布尔值(键为0)。这不起作用,因为解析器仍在寻找模板。

我想我想以某种方式早点回来?

编辑:

我认为这是一个非常重要的问题。例如,当JQ Validation插件使用服务器端验证方法时,它需要一个JSON布尔响应。

我设法通过遵循Zend \ View页面http://framework.zend.com/manual/2.0/en/modules/zend.view.quick-start.html底部的“备用呈现和响应策略”部分使我的应用程序准备好JSON。但这对已传递给视图的数组进行操作,因此布尔值true变为json [true]

我尝试了各种组合的json视图助手,但无法使其工作。

也许我需要创建自己的渲染和响应策略?虽然看起来有点矫枉过正......

2 个答案:

答案 0 :(得分:2)

Rob Allen撰写了一篇关于它的文章: Returning JSON from a ZF2 controller action

此外,您可以尝试使用此代码返回每个数据而不进行视图渲染:

$response = $this->getResponse();
$response->setStatusCode(200);
$response->setContent('some data');
return $response;

答案 1 :(得分:0)

最简单的方法:

echo "true";
exit;

虽然您可能想要输出一些合适的标题。

可以说正确的方法是将JsonStrategy添加为viewstrategy并使用JsonModel,但我认为它总是返回一个对象(传递给JsonModel的json_encoded视图变量关联数组)。