返回数据AJAX PHP

时间:2016-12-07 10:48:41

标签: php jquery json ajax

通过defaut,当我的系统加载时,一些数据在我的数据库中被过滤并显示给用户。但我怀疑的是如何调用AJAX来过滤一些新数据,并返回它,更改已经在我的变量上设置的默认值。

  

这是我的AJAX电话:

 $("#botao-filtrar").click(function(){
  $(".mask-loading").fadeToggle(1000);
  $.ajax({
    url: 'datacenter/functions/filtraDashboardGeral.php',
    type: 'POST',
    data: {rede: $("#dropdown-parceria").val()},
  })
  .done(function(resposta){
    console.log(resposta);
  })
  .always(function(){
    $(".mask-loading").fadeToggle(1000);
  })
});
  

这是我尝试过滤一些数据以返回它时得到的,   但没有任何效果:

<?php
    require_once('../../includes/conecta.php');

    $rede = $_POST['rede'];

    function buscaDados($conexao){
        $dados = array();

        $resultado = mysqli_query($conexao, "SELECT * FROM evolucao_originacao WHERE rede = {$rede}");

        while($valores = mysqli_fetch_assoc($resultado)){
            array_push($dados, $valores);
        }
    }

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

您最后应添加echo

echo json_encode($dados);

因此$dados数组将作为JSON响应发送回ajax请求。

将响应解析为json uisng $.parseJSON()

.done(function(resposta){
     resposta = $.parseJSON(resposta);

     console.log(resposta);
})

希望这有帮助。

答案 1 :(得分:1)

在你的ajax代码中你添加成功。

$("#botao-filtrar").click(function(){
  $(".mask-loading").fadeToggle(1000);
  $.ajax({
    url: 'datacenter/functions/filtraDashboardGeral.php',
    type: 'POST',
    dataType: 'json',
    data: {rede: $("#dropdown-parceria").val()},
    success: function (data) {

    //You do not need to use  $.parseJSON(data).  You can immediately process data as array.
    console.log(data)

    //if you have a array you use the following loop

     for (var j =0;j < data.length;j++) {

    console.log(data[j]);
    // u can use data[j] and write to any fields u want.
    // e.g.
    $('.somediv').html(data[j].myarraykey);



     }

  })
  .done(function(resposta){
    console.log(resposta);
  })
  .always(function(){
    $(".mask-loading").fadeToggle(1000);
  })
});

对于php代码(我没有检查你的代码是否有效),你需要添加echo和die来结束通话。

$rede = $_POST['rede'];

    $dados = array();

    $resultado = mysqli_query($conexao, "SELECT * FROM evolucao_originacao WHERE rede = {$rede}");

    while($valores = mysqli_fetch_assoc($resultado)){
        array_push($dados, $valores);
    }
    echo json_encode($dados);
    die();