【发布时间】:2012-11-06 19:40:20
【问题描述】:
我有一个 Java Web 项目,其中有一个 GET 端点,我正在点击该端点来检索 JSON 数据。 Firebug 显示我正在获取表单中的 JSON 数据
[{"id":7,"serial":"7bc530","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null},
{"id":8,"serial":"4a18d27","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null},
{"id":9,"serial":"f30ef","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null},
{"id":10,"serial":"9e6d","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null},
{"id":11,"serial":"4d8665a3","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null},
{"id":12,"serial":"4fe1457","randomDouble":0.0,"randomDouble2":0.0,"randomDouble3":0.0,"date":1352228474000,"removed":null}]
在 HTML 方面我有这个,
<table id="table_id">
<thead>
<tr>
<th>id</th>
<th>serial</th>
<th>randomDouble</th>
<th>randomDouble2</th>
<th>randomDouble3</th>
<th>date</th>
<th>removed</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
这是我在 javascript 方面的内容,我在这里找到了其他人的另一篇文章,该格式适用于他们。
$(document).ready(function() {
var Table = $("#table_id").dataTable({
"bFilter":false,
"bPaginate":false,
"bProcessing": true,
"bServerSide":true,
"bInfo":false,
"sAjaxSource": ApiUrl(),
"fnServerData": function (sSource, aoData, fnCallback){
$.ajax({
"dataType": 'json',
"type": "GET",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}
});
该表正在显示列,但未提取数据。正如我所说,我确实验证了 JSON 数据是通过 Firebug 发送到网页的——通过它发出的 GET 请求。
我发现数据表非常混乱,我无法让这个 JSON 实际填充...
任何帮助将不胜感激。
编辑:
我试过了,
var Table = $("#table_id").dataTable({
"bFilter":false,
"bPaginate":false,
"bProcessing": true,
"bServerSide":true,
"bInfo":false,
"sAjaxSource": ApiUrl(),
"sAjaxDataProp": ""
});
【问题讨论】:
-
您可以使用“sAjaxSource”:将其指向一些将发送 json 数据的 servlet/php...
-
问题在于 DataTables 需要一个对象,该对象的数据源包含一个名为“aaData”的数组。我无法修改传入的 JSON。
-
不如寻找一种方法来包装并将其设置为 aaData 并将其作为“文本文件”源传递给 datables 构造函数
标签: javascript jquery ajax json datatables