无法在 Zend 中将 JSON 格式的关联数组发送到客户端
在控制器中的一项操作中,我使用 json 视图助手发送回对 ajax 请求的响应。在客户端,我警告传递给成功回调函数的数据。只要响应是数字或具有默认键的数组,它就可以正常工作。一旦我尝试发送关联数组,它就会发出 [object Object] 警报。 服务器代码:
$childArray = array('key'=>'value');
$this->_helper->json($childArray);
javascript:
function displayChildren(data){
alert(data);
}
...
$.ajax({
url: "/po/add", dataType: "json",
data: {format: "json"}, success: displayChildren
});
我不知道我在这里做错了什么,所以任何帮助将不胜感激......
In one of my actions in a controller, I'm using the json view helper to send back a response to an ajax request. On the client side I alert the data that is passed to the success callback function. It works fine as long as the response is a number or an array with default keys. Once I try to send an associative array, it alerts with [object Object].
Server code:
$childArray = array('key'=>'value');
$this->_helper->json($childArray);
javascript:
function displayChildren(data){
alert(data);
}
...
$.ajax({
url: "/po/add", dataType: "json",
data: {format: "json"}, success: displayChildren
});
I have no idea what am I doing wrong here, so any help would be appreciated...
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是预期的。 JavaScript 中的关联数组是对象。 Alert 不会迭代对象的属性,只会输出 [object Object]。您在 PHP 端设置的键/值对就在那里并且可以被访问。尝试
alert(data.key)
,您应该获得value
。That's expected. Associative arrays in Javascript are objects. Alert won't iterative over the object's properties and just outputs [object Object]. The key/value pairs you set on the PHP side are there and be accessed. try
alert(data.key)
and you should getvalue
.