我试图填充我的表(DataTables.net)使用ajax。接收到的值来自php脚本生成的json对象。目前我可以通过使用经典方法来管理它,vars从php,但我现在想切换到json方法。
这是我的jsfiddle,我已经测试了很多东西,没有任何成功:'
$(document).ready(function() {
$('#example').DataTable({
"bProcessing": true,
"ajax": {
"url": "http://www.json-generator.com/api/json/get/bUCyQgmGeW?indent=2",
"dataSrc": "syncok"
},
"columns": [
{ "data": "Ticket_RT" },
{ "data": "Last_up_time" },
{ "data": "Last_down_time" },
{ "data": "Date_du_Diag" },
{ "data": "Commentaire_FT" },
{ "data": "Code_Retour_FT" },
{ "data": "Supprimer" }
]
});
});
body {
font-family: "Open Sans", "Segoe UI", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif;
}
<script src="https://code.jquery.com/jquery-1.12.3.js"></script>
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js"></script>
<div id="exampleDiv">hello</div>
<table width="100%" class="display" id="example">
<thead>
<tr>
<th>Ticket RT</th>
<th>Last up time</th>
<th>Date du Diag RT</th>
<th>Commentaire FT</th>
<th>Code Retour FT</th>
<th>Supprimer</th>
</tr>
</thead>
</table>
我希望有人能帮助我解决这个问题,我已经从stackoverflow和原始文档中尝试了许多片段,但我不能自己管理它!
提前感谢您的帮助:)
致意。编辑:
要解决这个问题,你必须在。datatable函数之前添加这个:$("#example").empty();
并在。datatable函数中增加一个选项"bDestroy": true,
。
从这个线程的解决方案:数据表论坛
EDIT 2:
对不起,我是盲人!现在我的标题消失后添加。empty()函数…现在我正试图解决另一个问题,所以如果有人能把我放在正确的方式!提前感谢您的帮助:)
修复:
$(document).ready(function() {
$("#ret_syncok").empty();
$('#ret_syncok').DataTable( {
"bDestroy": true,
"bProcessing": true,
"ajax": {
"url": "js/optionsTables/cMass_ret_syncok.php",
"dataSrc": "syncok"
},
"columns": [
{ "data": "Ticket_RT" },
{ "data": "Last_up_time" },
{ "data": "Last_down_time" },
{ "data": "Date_du_Diag_RT" },
{ "data": "Commentaire_FT" },
{ "data": "Code_Retour_FT" },
{ "data": "Supprimer" }
],
"columnDefs": [
{ "title": "Ticket RT", "targets": 0 },
{ "title": "Last up time", "targets": 1 },
{ "title": "Last down time", "targets": 2 },
{ "title": "Date du Diag_RT", "targets": 3 },
{ "title": "Commentaire FT", "targets": 4 },
{ "title": "Code Retour FT", "targets": 5 },
{ "title": "Supprimer", "targets": 6 }
]
});
});
我希望能帮助到别人
由于Ajax url是http而不是https,
我试了试我的电脑,它工作。问题是,列的名字不一样。列数不相同。
<html>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.12/css/jquery.dataTables.min.css"/>
<div id="exampleDiv">hello</div>
<table width="100%" class="display" id="example">
<thead>
<tr>
<th>Ticket RT</th>
<th>Last up time</th>
<th>Last down time</th>
<th>Date du Diag RT</th>
<th>Commentaire FT</th>
<th>Code Retour FT</th>
<th>Supprimer</th>
</tr>
</thead>
</table>
</html>
<script src="https://code.jquery.com/jquery-1.12.3.js" ></script>
<script src="https://cdn.datatables.net/1.10.12/js/jquery.dataTables.min.js" ></script>
<script>
$(document).ready(function() {
$('#example').DataTable({
"bProcessing": true,
"ajax": {
"url": "http://www.json-generator.com/api/json/get/bUCyQgmGeW?indent=2",
"dataSrc": "syncok"
},
"columns": [
{ "data": "Ticket_RT" },
{ "data": "Code_Retour_FT" },
{ "data": "Date_du_Diag_RT" },
{ "data": "Last_up_time" },
{ "data": "Supprimer" },
{ "data": "Last_down_time" },
{ "data": "Commentaire_FT" }
]
});
});
</script>