zf2获取控制器中的JSON值

时间:2013-12-22 09:51:57

标签: jquery json zend-framework2

我想知道如何在zf2控制器中获取json值。

我的json功能:

$(".bajaAlumno").click(function () {
    var dat =$(this).attr('id');
    var response = '{"name":"' + dat + '"}';
    alert(response);
    $.ajax({
        url: 'bajaAlumnos',
        dataType: 'json',
        data: JSON.stringify(response),
        type: 'post',
        contentType: 'application/json',

        success: function (data) {
            alert(data);
        },

        error: function (jqXHR, textStatus, errorThrown) {
            console.log("Error... " + textStatus + "        " + errorThrown);
        }
    });
})

我试试这个:

//module.config.php
'strategies' => array(
    'ViewJsonStrategy',
),

在控制器中:

public function bajaAlumnosAction()
{
     $request = $this->getRequest();
     die(var_dump($request->isPost()));
     //this is equals FALSE
}

我做错了什么?

加入我试试这个

die(var_dump($this->getRequest()->getContent());
die(var_dump(var_dump($request->getPost()->toArray())));

和相同的结果数组(0),请帮助

3 个答案:

答案 0 :(得分:1)

参见本教程: Returning JSON from a ZF2 controller action

在你的控制器中试试这个:

use Zend\View\Model\JsonModel
public function bajaAlumnosAction()
{
     $request = $this->getRequest();
     $result = new JsonModel($request->getPost()->toArray());
     return $result;
}

答案 1 :(得分:1)

$values = \Zend\Json\Json::decode ($this->getRequest ()->getContent ());

答案 2 :(得分:0)

在使用Ajax时在控制器中使用$request->isXmlHttpRequest()