通过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);
}
}
有什么想法吗?
谢谢!
答案 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();