我认为这是一个很受欢迎的问题。我发布了我的问题,因为我试图与其他人一起调查我的问题,但无济于事。
------------------我正在使用遗留的jquery数据表------------------ ---
我看到了不一致的行为。我有两个相同的数据表,除了每个数据表与不同的控制器通信。一个填充完美,另一个在jQuery代码中给我这个错误。
我正在获取json数据,但_fnGetObjectDataFn(oSettings.sAjaxDataProp)(json)正在将aData设置为undefined! 说什么?这是json数据:
为了确保问题不在于列数不正确,我将表格最小化为一列。这是弹出表视图的javaScript:
initBuildingsTable = function () {
$('#selectableAssetTable').dataTable({
"bPaginate": false,
"bProcessing": true,
"bAutoWidth": true,
"aoColumns": [
{ "mDataProp": "SiteName", "bSortable": true },
],
"aoColumnDefs": [
{ "mDataProp": null, "sDefaultContent": " ", "aTargets": [-1] }
],
"sDom": '<"top">rt<"bottom"><"clear">',
"oLanguage": {
"sEmptyTable": "No data found."
},
"sAjaxSource": $.baseURL("api/selfservice/getsites"),
"fnServerData": function (sSource, aoData, fnCallback) {
$.ajax({
url: sSource, // Do not add the base to this. It should already be present
type: "GET",
dataType: "json",
success: fnCallback,
complete: function () {
alert("show me the data!")
}
});
}
});
}
以下是表格的HTML:
<table id="selectableAssetTable" style="width: 100%; ">
<thead>
<tr>
<th>Site Name</th>
</tr>
</thead>
<tbody></tbody>
</table>
以下是从控制器返回的数据的DTO:
public class SiteDTO
{
public decimal SiteId { get; set; }
public string SiteName { get; set; }
public string Address { get; set; }
public string Contact { get; set; }
}
答案 0 :(得分:1)
你可以在观察窗口看到oSettings.sAjaxDataProp = "aaData"
,所以你应该找一个名为&#34; aaData&#34;的对象。迭代。但是你正在使用&#34; aData&#34;默认情况下未定义。