如何将数据发送到DataTables(用于添加行)

时间:2017-11-17 10:51:16

标签: php jquery datatables

我有一个从数据库中检索信息的php文件(add.php)

我希望将此信息添加到我的表格(DataTables)

所以我尝试这样做(我故意简化)

Javascript:

$(document).on("click", "#add", function(){
  $.post("/ajax/add.php", {info: number}).done(function(data){
    $('#fileTable').DataTable().row.add(data).draw();
  });
});

在我的add.php文件中,我的请求提供了这些信息:

$request = $bdd->prepare('SELECT * FROM product WHERE ...');
$request->execute();
$info = $request->fetch();

请求有效,它会返回给我:

$a = $info['a']
$b = $info['b']
$c = $info['c']
$d = $info['d']

我想返回他的信息以便将它们添加到表中,所以我尝试了几件事(总是在我的add.php文件中):

echo "[$a, $b, $c, $d]";
echo "{0: $a, 1: $b, 2: $c, 3: $d}";

它不起作用......怎么办?

2 个答案:

答案 0 :(得分:0)

尝试

header("Content-type:application/json");
$request = $ bdd->prepare('SELECT * FROM product WHERE ...');
$request->execute();
$info = $request->fetch();

echo json_encode($info)

答案 1 :(得分:0)

查看datatables docs时,似乎add()函数应该使用JSON对象。

我不确定你传递给它的是什么。

您可能需要这样做:

var table = $('#fileTable');
table.row.add(JSON.stringify(data)).draw();

如果失败,console.log(data)这将有助于您了解您当前传递给add()函数的内容