Datatables 使用jquery datatable并使用ajax调用添加数据时请求的未知参数

Datatables 使用jquery datatable并使用ajax调用添加数据时请求的未知参数,datatables,Datatables,我在MVC应用程序中使用jQuery datatable,第一次从服务器向它发送数据时,它工作正常,但当我想用SignalR请求更新表时,它会给出请求的未知参数 HTML <table id="tblEmployeeOut" class=" table table-striped table-bordered table-hover"> <thead> <tr> <th> Id </th> <th> Name </th

我在MVC应用程序中使用jQuery datatable,第一次从服务器向它发送数据时,它工作正常,但当我想用SignalR请求更新表时,它会给出请求的未知参数

HTML

<table id="tblEmployeeOut" class=" table table-striped table-bordered table-hover">
<thead>
<tr>
<th>
Id
</th>
<th>
Name
</th>
</tr>
</thead>
<tbody>
@foreach (var item in employeeOut)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.EnrollNumber)
</td>
<td>
<span> @item.FirstName @item.LastName</span>
</td>
</tr>
}
</tbody>
</table>

身份证件
名称
@foreach(employeeOut中的var项目)
{
@DisplayFor(modelItem=>item.EnrollNumber)
@item.FirstName@item.LastName
}
脚本

$('#tblEmployeeOut').dataTable({
bLengthChange: false,
"dom": '<"top"i>rt<"bottom"flp><"clear">',
sPaginationType: 'full_numbers',
bFilter: false,
bInfo: false,
iDisplayLength: 5,
"language": {
"emptyTable": " No Clients"
},
"aoColumns":
[
{ "sName": "Id" },
{ "sName": "Name" }
]
});
$('tblEmployeeOut')。数据表({
bLengthChange:false,
“dom”:“rt”,
sPaginationType:“完整编号”,
过滤:错,
宾福:错,
i显示长度:5,
“语言”:{
“emptyTable”:“无客户端”
},
“aoColumns”:
[
{“sName”:“Id”},
{“sName”:“Name”}
]
});
在第二个图像中,您可以看到返回的“Json”,在第三个图像中,您可以看到jQuery datatable显示的警报

您不能简单地呼叫

datatable.fnAddData(stock); // stock is an array of objects
不使用mData

您需要提供其他类型的输入数据。(检查并导航到fnAddData规范)

您可能想尝试我刚刚提出的一个简单函数:

function objArrayToStringArray(array) {
        return array.map(function (item) {
            return [item["Id"], item["Name"]];
        });
    }
并像这样使用它:

var tmp = objArrayToStringArray(stock);
$('#tblEmployeeOut').dataTable().fnAddData(tmp);
希望这有帮助

更新: 如果对以下列使用
mData
属性:

"aoColumns":
    [
    { "sName": "Id", "mData": "Id" },
    { "sName": "Name", "mData": "Name" }
    ]
然后,您可以简单地调用它,就像您希望的那样:

$('#tblEmployeeOut').dataTable().fnClearTable();
$('#tblEmployeeOut').dataTable().fnAddData(stock);

您是否检查了标题表中的列是否多于数据本身。。。?你能发布你的JSON数据和DataTables初始化代码吗?@noobed-Thanx获得回复,请检查更新的问题。我已经尽可能完整地更新和扩展了我的答案。非常感谢:)@noobed