Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 无法将Zend中JSON格式的关联数组发送到客户端_Php_Json_Zend Framework_Associative Array_Helper - Fatal编程技术网

Php 无法将Zend中JSON格式的关联数组发送到客户端

Php 无法将Zend中JSON格式的关联数组发送到客户端,php,json,zend-framework,associative-array,helper,Php,Json,Zend Framework,Associative Array,Helper,在控制器中的一个操作中,我使用json视图帮助器向ajax请求发回响应。在客户端,我向传递给success回调函数的数据发出警报。只要响应是带有默认键的数字或数组,它就可以正常工作。一旦我尝试发送关联数组,它就会用[object]发出警报。 服务器代码: $childArray = array('key'=>'value'); $this->_helper->json($childArray); javascript: function displayChildren(dat

在控制器中的一个操作中,我使用json视图帮助器向ajax请求发回响应。在客户端,我向传递给success回调函数的数据发出警报。只要响应是带有默认键的数字或数组,它就可以正常工作。一旦我尝试发送关联数组,它就会用[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
});

我不知道我在这里做错了什么,所以如果有任何帮助,我将不胜感激。

这是意料之中的。Javascript中的关联数组是对象。警报不会迭代对象的属性,只输出[object]。在PHP端设置的键/值对就在那里,可以访问。尝试
alert(data.key)
,您应该会得到
value

@anorflame使用firebug控制台调试方法比firefox中的alert.use console.log('anything,甚至是object')更好(w/firebug;)