【发布时间】:2014-03-10 16:45:06
【问题描述】:
当使用 AJAX 作为数据源时,我发现 DataTables 的文档受到限制。我在 ASP.NET MVC 4 应用程序的控制器中有一个方法,它返回一个简单的 JSON 结果,我正在尝试用以下内容填充 DataTable:
$.ajax({
type: "GET",
dataType: "json",
contentType: "application/json",
url: "/Chart/Ajax",
success: function (data) {
var returnData = [];
for (var i = 0; i < data.length; i++) {
//makes the data an array of arrays
returnData.push($.makeArray(data[i]));
}
$('#secondary').dataTable({
"aaData": returnData,
"aoColumns": [
{ "sTitle": "DrugClass" },
{ "sTitle": "DrugClassSize" },
{ "sTitle": "DistinctPatients" },
]
});
}
});
理想情况下,我不会在成功回调触发之前创建表格元素,但在这种情况下,页面上有一个空的表格元素。使用以下代码我得到错误:Uncaught TypeError: Object [object Object] has no method 'dataTable'
问题是,我已经在页面上有一个不同的 DataTable 并且它工作正常。该脚本位于页面的最底部,在工作数据表之后。为什么我会收到此错误,以及让 DataTables 与 AJAX 数据源完美配合的简单方法是什么?
【问题讨论】:
标签: javascript jquery ajax jquery-datatables