【发布时间】:2014-03-25 16:28:12
【问题描述】:
我正在使用 phonegap,我正在尝试将一个编码为 json 的数组从控制器发送到视图。
在我的控制器(服务器端)中:
$users = Model_Users::find(1);
$a=$users->to_array();
return json_encode($a);
在我看来(使用 phonegap 进入智能手机应用程序):
$(document).ready(function() {
$.ajax({
url: 'my/url...',
method: 'POST',
data: {
},
success: function(data) {
alert(data);
}
});
});
这工作正常,事实上在视图中我收到了这个警报:
data = {"name":"Jhon","surname":"Larry","age":"25"}
这项工作是因为查询的结果只有一行。
当我尝试获取多个查询结果时,例如:
$users = Model_Users::find('all');
$a=array();
foreach ($users as $user){
array_push($a,$user->to_array());
}
return json_encode($a);
在这种情况下,会出现一个空响应,实际上我收到了这个警报:
data = []
有什么问题? 提前致谢
【问题讨论】:
-
能否在服务器端返回值之前发布 print_r($a)(最终甚至是 json_encode($a))的结果?
-
print_r($a) 的结果:
Array ( [0] => Array ( [id] => 1 [name] => Brad [surname] => Pitt [age] => 40 ) [1] => Array ( [id] => 4 [name] => Matt [surname] => Damon [age] => 38 ) )json_encode($a) 的结果:[{"id":"1","name":"Brad","surname":"Pitt","age":"40"},{"id":"4","name":"Matt","surname":"Damon","age":"38"}]
标签: javascript ajax json cordova controller