我正在尝试使用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作为错误。 任何人都可以帮助我。
答案 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"]);
}
}