【问题标题】:Return two JSON objects to AJAX [duplicate]将两个 JSON 对象返回到 AJAX [重复]
【发布时间】:2016-02-09 00:59:42
【问题描述】:

我向 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 中返回了一个数组。

【问题讨论】:

  • 你不能向ajax请求发送两个json对象,你应该创建另一个数组并在上面添加两个json对象,然后将这个数组编码为json。
  • 你能解释得更好吗? @PhiterFernandes
  • 我做了一个答案,你看看

标签: php jquery json


【解决方案1】:

你不应该在你的 Ajax 请求中回显多个 json 字符串,否则会失败。

如果你这样做,你会得到想要的结果:

$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);

【讨论】:

  • 好的,没有数据必须放我的答案 data[x] 。当我走那个数据集市时...设置用户类并分配?
  • 我做得很好,警报(数据[0]);它返回给我:{“Usuarioon”、“1”、“状态”:“fa -circle - text-red”} 好的,在这里。我怎么能这样做: $ ( '#' + Data [0 ] .usuarioon . ) .addClass ( Data.[0]status ) ; @PhiterFernandes ???
猜你喜欢
  • 1970-01-01
  • 2018-01-07
  • 2013-12-29
  • 2020-03-06
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多