HTML响应使用end_Json_Encoder ::编码
问题描述:
我在这里为两个问题的Zend控制器传递一个对象时:
我想通过我在Zend的创建控制器
HTML响应使用end_Json_Encoder ::编码
public function exampleAction() {
$answers = array();
for($i = 0 ; $i < 3 ; $i++)
{
$answer = new Answer();
$answer->answer_id = 5 ; // for example
$answer->thanked = 'true';// for example
$answers[] = $answer;
}
echo Zend_Json_Encoder::encode($answers);
}
Jquery的JSON对象帖子的功能是:
$.post(
"/memberactions/getthanks/",
{values:values},
function(res){
alert(123);
}
, 'json')
首先问:
为什么得到的回答是HTML?响应必须在JSON中?
第二个问题
HTML响应是这样
[{"__className":"Answer","thanked":"true","answer_id":"5"}]
我怎么能作出这样的回应:
- answer
thanked : true
answer_id : 5
为JSON对象没有__className: “答案”(在答复中有类名是否会受到伤害)?
答
-
你禁用布局,viewRenderer等?此外,你应该发送适当的标题。你可以做到这一切在一次使用JSON动作助手:
$this->_helper->json($answers);
-
你可以在
Answer
提供toArray()
方法,它会返回相关属性的数组,然后在你的行动使用它:$answers[] = $answer->toArray();
$此 - > _ helper-> JSON($答案);与我合作谢谢 – KJA 2012-04-03 10:58:05