我有一个需要返回一些值的ajax,但是如果我使用while()从我的数据库中获取所有结果,则返回的是“无”.
js:
$.post("ajax/file.ajax.PHP",
{
cache: false
},
function(data){
alert(data.region);
},'json'
);
的PHP:
while(!$res->EOF)
{
header('Content-Type: application/json');
$return_data = array('value'=>''.$res->fields['VALUE'].'','region'=>''.$res->fields['REGION'].'');
echo json_encode($return_data);
$res->MoveNext();
}
因此,我如何在json中使用while?
解决方法:
最简单的解决方案是先创建一个数组,然后将array.push生成的行推到它的末尾.
例如:
的PHP
$array = array();
while(!$res->EOF) {
$dataFromDB = array('value'=>''.$res->fields['VALUE'].'','region'=>''.$res->fields['REGION'].'');
$array[] = $dataFromDB; //or array_push($array, $dataFromDB);
$res->MoveNext();
}
header('Content-Type: application/json');
echo json_encode($array);
JS:
$.post("ajax/file.ajax.PHP",
{
cache: false
},
function(data){
for(n in data) {
alert(data[n].region);
}
},'json'
);
然后输出json编码的数组以完成操作.
您还应该将标题移出while循环,并在回显新数组之前放好它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。