gco*_*828 3 javascript asp.net-mvc jquery asp.net-ajax datatables-1.10
我一直在尝试让DataTables.NET与我构建的WebAPI RESTFul服务很好地配合,并且返回的json似乎不适合DataTables正在寻找的东西.我试图用我喜欢在互联网上找到了几个例子沿线各"服务器处理"的例子这一个,但我不想做的WebAPI调用动态.我希望API能够自我记录,以便其他应用程序和其他开发人员也可以轻松地使用API.到目前为止,这就是我所拥有的.
从我的API返回Json.stringify后的JSON数组是这样的:
[{"FirstName":"Gregg","LastName":"Coleman"},{"FirstName":"Ryan","LastName":"May"},{"FirstName":"Sean","LastName":"OConnor"},{"FirstName":"Rebecca","LastName":"Coleman"}]
Run Code Online (Sandbox Code Playgroud)
datatable.net代码如下所示:
$("#data-table").DataTable({
serverSide: true,
processing: true,
ajax: {
url: "http://localhost:55180/api/Person",
type: 'GET',
dataType: 'json',
dataSrc: function(json)
{
var j = JSON.stringify(json)
alert(j);
return j;
}
}
});
Run Code Online (Sandbox Code Playgroud)
HTML看起来像这样
<table id="data-table" class="display">
<thead>
<tr>
<th>First Name</th>
<th>Last Name</th>
</tr>
</thead>
Run Code Online (Sandbox Code Playgroud)
我从dataTables回来的错误是:
"DataTables警告:table id = data-table - 请求第0行第1列的未知参数'1'.有关此错误的详细信息,请参阅http://datatables.net/tn/4.
任何帮助将不胜感激
您需要指定JSON中哪些属性对应于哪些列.您还需要设置dataSrc为''(因为dataTables期望保存JSON项的数组被命名data)或者只是在dataSrc回调中返回JSON .设置dataSrc为''似乎是最简单的:
$("#data-table").DataTable({
serverSide: true,
processing: true,
columns : [
{ data : 'FirstName' },
{ data : 'LastName' }
],
ajax: {
url: "http://localhost:55180/api/Person",
dataSrc : ''
}
});
Run Code Online (Sandbox Code Playgroud)
现在dataTable正确初始化 - > http://jsfiddle.net/2jgt3mn8/
| 归档时间: |
|
| 查看次数: |
6103 次 |
| 最近记录: |