【发布时间】:2017-03-12 03:18:58
【问题描述】:
我想使用 jQuery DataTables 插件将我的 MongoDb 集合之一显示到表中。
但是,我得到了如下所示的弹出消息:
为第 0 行第 0 列请求未知参数“0”。更多信息 有关此错误的信息,请参阅http://datatables.net/tn/4
以下部分代码以 MongoDb 程序方式从 jobs collection 中选择 job id、title、submitted 和 status 列:
提交.php
$filter = ['user_id' => $_SESSION['google_id']];
$query = new MongoDB\Driver\Query($filter);
try {
$cursor = $manager->executeQuery($dbname.'.'.$collection, $query);
$arr = array();
foreach($cursor as $c){
$temp = array("job_id" => $c->job_id, "title" => $c->title, "submitted" => $c->submitted, "status" => $c->status);
array_push($arr, $temp);
}
echo json_encode($arr);
} catch (MongoDB\Driver\Exception\Exception $e) {
echo $e->getMessage(), "\n";
}
并在 HTML 页面中显示:
jobs.php
<table id="tableJobs"></table>
<script>
$(document).ready(function(){
$.ajax({
type: "POST",
url: "submit.php",
data: "",
dataType: "json",
success: function(resultData) {
var opt={
"bProcessing":true,
"aoColumns":
[
{"sTitle":"Submission"},
{"sTitle":"Title"},
{"sTitle":"Submitted On"},
{"sTitle":"Status"}
],
"aaData": resultData
};
$("#tableJobs").dataTable(opt);
}
});
});
</script>
我错过了哪些步骤?如何让它在 HTML 表中显示来自 db 的所有 JSON 数据源,如下所示:
<tr>
<td>F37CE14A-506C-24E7-EBDC-362216BB9089</td>
<td>Demo</td>
<td>2017-03-01 06:47:03</td>
<td>Finished</td>
</tr>
提前感谢您的帮助。
【问题讨论】:
-
您的数据库行是否有任何空或空列值?
-
@Yolo 未显示空值。这是我的 JSON 格式:
[{"job_id":"BB520E08-A183-CBEB-BAE2-006056169116","title":"LA001","submitted":"2017-03-12 11:27:41","status":"Running"}]
标签: php json ajax mongodb datatables