使用json模型的Zf2视图

时间:2014-09-16 11:34:42

标签: json zend-framework2 jsonmodel

在zend框架2中,我在module.config.php中有以下配置:

'strategies' => array(
    'ViewJsonStrategy',
)

我的控制器是:

use Zend\View\Model\JsonModel;
$view = new JsonModel(array(
            'username' =>  ucfirst( $username ),
            'datarr' => array(

                'a' => 'A',
                'b' => 'B',
                'c' => 'C',
                'd' => 'D',

            ),
        ));

在我看来刚刚得到:

{ "username" : "Reynold", "datarr" : {"a":"A", "b":"B", "c":"C", "d":"D" } }

当我使用$view = new ViewModel();时,我说得对,在使用JsonModel我得到上述内容时,是否有人可以帮助我找出我做错了什么?

1 个答案:

答案 0 :(得分:0)

这没什么不对。 JsonModel用于ajax请求,而ViewModel用于普通的http请求。

您可以将JsonModel的响应用作javascript-object。 以下是jquery的示例:

$.ajax({
    url: yourUrl,
    success: function(d) {
        console.log(d.username);
        console.log(d.datarr.a);
    }
});

在您的控制器中,您可以检查它是否是这样的ajax请求:

if($this->getRequest()->isXmlHttpRequest()) {
   // return json-model
}