我正在使用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 = []
有什么问题? 提前致谢
答案 0 :(得分:0)
我会尝试根据我们已经知道的一些提示建立一个答案,感谢评论。
首先,我们确信JSON是有效的(例如jsonlint.com)。
所以,现在,我们完全确定问题存在于PHP /服务器端。 我的解决方案:
return
; echo
exit;
语句,以确保服务器答案中不包含其他字符; header('Content-Type: application/json');
console.log
代替alert()
(有很多线程解释差异希望这会有所帮助!