调用Ajax之后,无法重新加载数据表

凯雷姆

在我的Ajax调用成功之后,我想用从php部分返回的新值重新加载引导表。

<table id="gelirtableid" data-toggle="table" data-url="gelir-getdata.php" data-classes="table table-hover" data-striped="true"
                        data-pagination="true" data-page-list=[20, 40, 75, 100] data-search="true">
                            <thead>
                                <tr >
                                    <th data-sortable="true" data-field="tarih">Tarih</th>
                                    <th data-sortable="true" data-field="Toplam">Toplam</th>                                    
                                </tr>
                            </thead>
</table>

我的PHP脚本从mysql获取数据

<?php 
include "dbcon.php";
if($_POST["gelirtablosecimi"]){
        $gelirtabloadi = $_POST["gelirtablosecimi"];
        $_SESSION["gelirtabloadi"] = $gelirtabloadi;
}

$gelirtabloadi = $_SESSION["gelirtabloadi"];
$gelirgunluktoplam = $db->prepare("select tarih, hasilat + visa + butce_ici + hisse_satis + sosyal_konut + elektrik + haberlesme + iller_bank + diger AS Toplam from $gelirtabloadi");
$gelirgunluktoplam->execute();
$results = $gelirgunluktoplam->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);
echo $json;

 ?>

和我的Ajax电话

$("#gelirgetir").click(function() {
                    var gelirtablosecimi = $("#select1").val();
                    if (gelirtablosecimi) {
                        $.ajax({
                            type: "POST",
                            url: "gelir-getdata.php",
                            data: {
                                "gelirtablosecimi": gelirtablosecimi
                            },
                            success: function(result) {                                                                
                                notifyUser('success', 'Başarılı!', 'Tablo başarıyla güncellendi');
                                location.reload();
                            },
                            error: function(result) {
                                notifyUser('error', 'Hata', 'error');
                            }
                        });
                    } else {
                        notifyUser('info', 'Dikkat', 'Tablo seçimi yapmadınız!');
                    }

                });

我是Ajax调用的新手,可能问题出在我的Ajax部分。如您所见,location.reload();呼叫成功后,我正在处理我尝试重新加载.container#gelirtableid但没有任何效果。基本上,当我按下#gelirgetir按钮时,它将更新我的会话值之一,而我的表则取决于该会话值。会话值更改后,如果我重新加载页面,则会显示新值,但我必须强制刷新页面。我只想刷新表格。有什么建议吗?

凯雷姆

当我从上述解决方案得到的错误是关于JSON.parse()$.each期望解析JSON数据。以下代码就像魅力一样工作。

<table id="gelirtableid" data-toggle="table" data-url="gelir-getdata.php" data-classes="table table-hover" data-striped="true"
                            data-pagination="true" data-page-list=[20, 40, 75, 100] data-search="true">
                                <thead>
                                    <tr >
                                        <th data-sortable="true" data-field="tarih">Tarih</th>
                                        <th data-sortable="true" data-field="Toplam">Toplam</th>                                    
                                    </tr>
                                </thead>
</table>

Ajax呼叫:

$("#gelirgetir").click(function() {
                    var gelirtablosecimi = $("#select1").val();
                    if (gelirtablosecimi) {
                        $.ajax({
                            type: "POST",
                            url: "gelir-getdata.php",
                            data: {
                                "gelirtablosecimi": gelirtablosecimi
                            },
                            success: function(result) {
                                var content = '';
                                    var obj = JSON.parse(result);
                                    $.each(obj, function(i, data) {                                        
                                        content += '<tr>';
                                        content += '<td>'+obj[i].tarih+'</td>';
                                        content += '<td>'+obj[i].Toplam+'</td>';
                                        content += '</tr>';
                                    });

                                    $('#gelirtableid tbody').html(content);                                                             
                                notifyUser('success', 'Başarılı!', 'Tablo başarıyla güncellendi');                                
                            },
                            error: function(result) {
                                notifyUser('error', 'Hata', 'error');
                            }
                        });
                    } else {
                        notifyUser('info', 'Dikkat', 'Tablo seçimi yapmadınız!');
                    }

                });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章