我按如下方式向PHP文件发出AJAX请求:
function verifica() {
var meuid = $('.meuid').attr('id');
var datas = "user=" + meuid;
$.ajax({
type: "GET",
url: 'sys/stream2.php',
data: datas
}).done(function(data) {
//alert(data);
$('#nome').html(data);
});
}
在我的PHP文件中,我从循环中输出JSON数据:
foreach ($gUsuarios as $usuarios) {
$agora = $usuarios['AGORA'];
if ($agora >= $usuarios['cUsu_Limite']) {
echo json_encode(array('usuarioon' => $usuarios['cUsu_ID'], 'status' => 'fa fa-circle-o text-red'));
} else {
echo json_encode(array('usuarioon' => $usuarios['cUsu_ID'], 'status' => 'fa fa-circle-o text-green'));
}
}
输出是两个JSON对象:
{"usuarioon":"1","status":"fa fa-circle-o text-red"}
{"usuarioon":"3","status":"fa fa-circle-o text-red"}
如何在AJAX成功处理程序中解析两个JSON对象?我曾尝试使用parseJSON
,但它没有用。我认为这是因为我在foreach
内返回一个数组。
答案 0 :(得分:0)
你不应该将多个json字符串回显到你的Ajax请求中,这会使它失败。
如果这样做,您将获得所需的结果:
$retorno = array();
foreach ($gUsuarios as $usuarios) {
$agora = $usuarios['AGORA'];
if ($agora >= $usuarios['cUsu_Limite']) {
$retorno[] = json_encode(array('usuarioon' => $usuarios['cUsu_ID'], 'status' => 'fa fa-circle-o text-red'));
} else {
$retorno[] = json_encode(array('usuarioon' => $usuarios['cUsu_ID'], 'status' => 'fa fa-circle-o text-green'));
}
}
echo json_encode($retorno);