将两个JSON对象返回给AJAX

时间:2016-02-09 00:59:43

标签: php jquery json

我按如下方式向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内返回一个数组。

1 个答案:

答案 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);