我想知道如何在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),请帮助
答案 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()
。