【发布时间】:2011-10-25 05:26:57
【问题描述】:
我一直在尝试让 DataTables 与我现有的 Ajax 搜索功能一起工作 - 它本身就可以工作。
我有以下代码:
$('#SearchResults').dataTable({
"bProcessing": true,
"bServerSide": true,
"bRetrieve": true,
"sAjaxSource": "process.php?action=searchArtifact",
"fnServerData": function (sSource, aoData, fnCallback){
aoData.push({
"name": "searchName",
"value": $('#ArtifactSearch').attr('value')
});
$.ajax({
"dataType": "json",
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
}
});
PHP 正在返回一个有效的 JSON 对象(使用 JSON_FORCE_OBJECT):
{"0":{"ARTIFACT_ID":"4E2FE3BCE356C","ARTIFACT_NAME":"123","ARTIFACT_TYPE":"UI","ARTIFACT_LABEL":"Test_Int_EAS_123","ARTIFACT_LOCATION":"Int","ARTIFACT_DOMAIN":"ABC","ARTIFACT_AUTHOR":null,"REGISTERED_EMAIL":"test@test.com","REGISTERED_DATE":"27-07-2011","REGISTERED_TIME":"11:09:00"}
我可以在 FireBug 中看到这一切,但我的空表没有填充这些数据。
有什么想法吗?
@Kyle:错了——就是这样。我想我没有?这是我第一次尝试(挣扎)使用 DataTables,我只是从文档中复制:http://www.datatables.net/usage/callbacks#fnServerData
@MarcB:添加了 - 但仍然没有显示数据。感谢您的帮助
【问题讨论】:
-
请在帖子中添加 fnCallback 函数好吗?
-
success: function(data) { fnCallback(data); }明确传递返回的数据? -
你能告诉我们返回结果的PHP源代码吗?因为我认为它没有给出这里要求的正确格式datatables.net/usage/server-side
-
我做了一个简单的教程,很好地解释了如何解决您的问题,请查看[此链接](refreshmymind.com/datatables-dom-php-ajax-mysql-datasources)
标签: php ajax json datatables