【发布时间】:2020-07-17 01:23:53
【问题描述】:
您能帮我解决这个与 Bootstrap - Jquery Table 相关的问题吗?
我想从数据库服务器以 JSON 格式(通过 ajax 调用)检索数据到引导 DataTable,然后仅重新加载 DataTable。
这是代码,一旦按下点击按钮(搜索)就会运行:
var prova = null;
$(document).ready(function(){
prova = $('#prova_table').DataTable({
paging: true,
searching: false
});
prendivalori();
});
function prendivalori() {
$("#bottone").click(function() {
$("#prova_table").empty();
var sopravvissuti = $('#sopravvissuti').val();
var vita = $('#vita').val();
var provincia = $('#provincia').val();
var campi = $('#campi').val();
var table = $('#prova_table');
$.ajax({
type: 'GET',
url: './php/select.php',
data: {'sopravvissuti': sopravvissuti, 'vita': vita, 'provincia':provincia, 'campi':campi},
dataType: 'json',
success: function(data) {
table.append("<thead><tr><th class='th-sm'>Cognome</th><th class='th-sm'>Nome</th><th class='th-sm'>Sesso</th></tr></thead>");
console.log(data);
len=data[0].length;
table.append("<tbody>");
for(i=0; i< len; i++){
temp=data[0][i]
table.append("<tr><td>" + temp[1] + "</td><td>" + temp[0] + "</td><td>"
+ temp[2] +"</td></tr>");
}
table.append("</tbody>");
$('#prova_table').DataTable().ajax.reload();
}
,
error: function(data) {
alert('Assicurarsi di aver selezionato tutte le caselle');
}
});
});
};
这是单击按钮数据后收到的错误消息...
DataTables 警告:表 id=prova_table - JSON 响应无效。有关此错误的更多信息,请参阅http://datatables.net/tn/1
从服务器接收到的 json 数据是正确的,因为我们可以在表格中正确看到它们,但是我们无法使用 Bootstrap DataTable 提供的所有功能,例如 Pagination search和条目数....
我正在使用所有更新的链接来运行网站..
ETC ECT
这是一个 JSON 响应:
非常感谢您的所有支持 祝你今天过得愉快 安德烈亚
【问题讨论】:
-
你能在mocky.io这里模仿json响应并分享链接吗?还是将其添加到问题本身?
-
@supercool,是的!添加了来自 Chrome 控制台的屏幕截图...我希望它可以帮助:)
-
从后端发送对象数组(每个对象应该有键作为列名,值作为值)而不是数组数组。而且在成功功能中你不需要做 table.append 和其他类似的东西。如果您以上述正确格式接收数据,则只需使用 $("yourtableid").DataTable({data:response});
标签: javascript json ajax twitter-bootstrap datatables