【问题标题】:ZF2: What's the easiest way to return a boolean json response?ZF2:返回布尔 json 响应的最简单方法是什么?
【发布时间】:2014-04-17 21:21:20
【问题描述】:

在 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。但是这对已经传给视图的数组进行操作,所以boolean true变成了json[true]

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

也许我需要创建自己的渲染和响应策略?不过,这似乎有点矫枉过正......

【问题讨论】:

    标签: json zend-framework zend-framework2


    【解决方案1】:

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

    您也可以尝试使用此代码在不呈现视图的情况下返回每个数据:

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

    【讨论】:

    • 感谢 Mohamad,这很有帮助。我使用了您的代码,还设置了标题类型。
    【解决方案2】:

    最简单的方法:

    echo "true";
    exit;
    

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-14
      • 2017-08-16
      • 2016-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多