使用ajax获取数据表数据

时间:2018-11-06 12:21:23

标签: php html ajax datatable

我正在尝试使用ajax显示dataTable数据,但是没有用。

这是我的jquery代码:

$('#example').DataTable({
                ajax: {
                    type: 'GET',
                    url: 'data.php',
                    success: function (msg) {
                        $("#tbody_example").html(msg);
                    }
                }
            });

这是我的data.php页面:

    <?php   echo '<td>Name</td>
            <td>Position</td>
            <td>Office</td>
            <td>Extn.</td>
            <td>Start date</td>
            <td>Salary</td>'; ?>

这是我的dataTable:

 <table id="example" class="display" style="width:100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tbody id="tbody_example">

    </tbody>
    <tfoot>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Extn.</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </tfoot>
</table>

我的dataTable仍然为空,并且我得到MOCK GET:data.php作为错误。 任何人都可以帮助我。

3 个答案:

答案 0 :(得分:1)

那行不通。

请参考DataTables documentation,以确保{<1>}不能被覆盖,因为它在DataTables内部使用。

相反,您可以使用success

function ajax( data, callback, settings )

因此,通过使用$('#example').DataTable({ ajax: function(data, callback, settings) { $.get({ type: 'GET', url: 'data.php', success: function (msg) { $("#tbody_example").html(msg); // this is NOT how the table should be populated // invoke callback(msg) to populate the table }); } }); callback(response_data)类型的response_data调用string[][]来填充表。如果是后者,您可能需要向数据表配置中添加"columns" property

答案 1 :(得分:0)

它对我有用。我只需添加dataType

                ajax: {
                   type: 'GET',
                   url: 'data.php',
                   dataType : 'html',
                   success: function (msg) {
                      $("#tbody_datatable").html(msg);

                    },
                    error: function (req, status, err) {
                         console.log('Something went wrong', status, err);
                    }
                }

答案 2 :(得分:-2)

尝试以下方法,应该可以使用

在php文件中

$content = "<td>Name</td>
            <td>Position</td>
            <td>Office</td>
            <td>Extn.</td>
            <td>Start date</td>
            <td>Salary</td>";

$return["json"] = json_encode();
echo json_encode($return);

在ajax中

ajax: {
         type: 'GET',
         url: 'data.php',
         success: function (msg) {
               $("#tbody_example").html(msg["json"]);
         }
}