使用ajax(codeigniter)调用时,数据表无法正确加载

时间:2016-12-04 10:46:29

标签: ajax codeigniter datatable

我想要使用插件数据表显示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>

我感谢任何回复,谢谢。

1 个答案:

答案 0 :(得分:0)

ajax中的类型是指默认为GET的方法。你必须在页面加载时调用函数.i.e <body onload="showDatek()">

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

});