【问题标题】:datatable doesnt load properly when call with ajax (codeigniter)使用 ajax (codeigniter) 调用时数据表无法正确加载
【发布时间】:2016-12-04 10:46:29
【问题描述】:

我有 2000 个数据要使用插件数据表显示。
当我用简单的源代码调用它时,它可以正常工作。搜索,分页和排序功能很棒。 当我使用 ajax 调用数据时,所有功能都不起作用。数据显示,但数据表不读取任何数据。

enter image description here

正如你们在上图中看到的那样,数据表不读取任何数据,而是显示数据。当我使用任何功能时,显示数据消失并找不到记录

enter image description here

这是我的脚本 ajax 函数

<script>
$(function(){   
    showDatek();

    function showDatek(){
        $.ajax({
            type: 'ajax',
            url: '<?php echo base_url() ?>admin/getDatek',
            async: false,
            dataType: 'json',
            success: function(data){
                var html = '';
                var i;
                for(i=0; i<data.length; i++){
                    html +='<tr>'+
                            '<td>'+data[i].a+'</td>'+
                            '<td>'+data[i].b+'</td>'+
                            '<td>'+data[i].c+'</td>'+
                            '<td>'+data[i].d+'</td>'+
                            '<td>'+data[i].e+'</td>'+
                            '<td>'+data[i].f+'</td>'+                                                                                                           
                            '<td>'+
                            '<a href="javascript:;" class="btn btn-info">Details</a>'+
                            '</td>'+
                        '</tr>';                                
                }
                $('#showdata').html(html);
            }
        });
    }
});

这里是我的表格脚本,它与上面的函数在同一个文件中。

<table id="myTable" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%">
                            <thead>
                                <tr>
                                    <th>A</th>
                                    <th>B</th>
                                    <th>C</th>
                                    <th>D</th>
                                    <th>E</th>
                                    <th>F</th>
                                    <th>Actions</th>
                                </tr>
                            </thead>
                            <tbody id="showdata">

                            </tbody>
                    </table>

感谢任何回复,谢谢。

【问题讨论】:

    标签: ajax codeigniter datatable


    【解决方案1】:

    ajax中的类型是指方法默认是GET。并且你必须在页面加载时调用函数。即&lt;body onload="showDatek()"&gt;

    function showDatek(){
        $.ajax({
            type: 'POST',
            url: '<?php echo base_url() ?>admin/getDatek',
            async: true,
            dataType: 'json',
            success: function(data){
                var html = '';
                var i;
                for(i=0; i<data.length; i++){
                    html +='<tr>'+
                            '<td>'+data[i].a+'</td>'+
                            '<td>'+data[i].b+'</td>'+
                            '<td>'+data[i].c+'</td>'+
                            '<td>'+data[i].d+'</td>'+
                            '<td>'+data[i].e+'</td>'+
                            '<td>'+data[i].f+'</td>'+                                                                                                           
                            '<td>'+
                            '<a href="javascript:;" class="btn btn-info">Details</a>'+
                            '</td>'+
                        '</tr>';                                
                }
                $('#showdata').html(html);
            }
        });
    }
    

    });

    【讨论】:

    • 感谢您的回复,@hikmat 但不幸的是,在此之前,我已经尝试过喜欢您的帖子,我忘了改回来:p,但它仍然不起作用,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-09
    • 1970-01-01
    相关资源
    最近更新 更多