簡體   English   中英

返回數據AJAX PHP

[英]Return data AJAX PHP

通過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);
        }
    }

任何想法?

謝謝!

您應該在末尾添加echo

echo json_encode($dados);

因此, $dados數組將作為JSON響應發送回ajax請求。

解析對json $.parseJSON()的響應:

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

     console.log(resposta);
})

希望這可以幫助。

在您的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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM