Javascript DataTable错误-无法读取属性';长度';未定义的

Javascript DataTable错误-无法读取属性';长度';未定义的,javascript,jquery,ajax,datatable,Javascript,Jquery,Ajax,Datatable,我正在尝试使用对服务的ajax调用构建我的DataTable(1.10.5)—— 以下是我的Javascript: $('#tableexample').DataTable({ "dom": 'C<"clear">lfrtip', "bProcessing": true, "bServerSide": true, "sAjaxSource": "../../api/EventTypes/GetAll", "aoColumnDefs": [

我正在尝试使用对服务的ajax调用构建我的DataTable(1.10.5)——

以下是我的Javascript:

$('#tableexample').DataTable({

    "dom": 'C<"clear">lfrtip',
    "bProcessing": true,
    "bServerSide": true,
    "sAjaxSource": "../../api/EventTypes/GetAll",
    "aoColumnDefs": [
      {
          "aTargets": [0],
          "mData": "Id"
      },
       {
           "aTargets": [1], 
           "mData": "Name"
       },
       {
           "aTargets": [2],
           "mData": "Name"
       },
       {
           "aTargets": [3],
           "mData": "Name"
       },
       {
           "aTargets": [4],
           "mData": "Name"
       }
    ]
});
如果我看我的jquery.dataTables.js-它说我的数据未定义

var data = _fnAjaxDataSrc( settings, json );
有人能帮我正确设置ajax调用以动态构建表吗

谢谢

终于找到了

我需要进行ajax调用并将数据传递给“aaData”:

$.ajax({
url:“/Portal/api/EventTypes/GetEventWorkflowDefinitions”,
键入:“GET”,
数据类型:“json”,
成功:功能(数据){
分配到ventscolumns(数据);
}
});
函数赋值到ventscolumns(数据){
var table=$('#tableexample').dataTable({
“dom”:“Clfrtip”,
“bAutoWidth”:假,
“aaData”:数据,
“aaSorting”:[],
“aoColumnDefs”:[
{
“目标”:[0],
“可搜索”:错误,
“可移植”:错误,
“bSort”:错误,
“mData”:“EventTypeId”,
“mRender”:功能(事件){
返回“”;
}
},
{
“目标”:[1],
“mData”:“事件类型”
}

一旦我做到了这一点,表的构建就完美了!

您使用的服务器端语言是什么?
“sAjaxSource”:“../../api/EventTypes/GetAll”
看起来不像
php
asp
文件。可能它只是没有返回任何内容,因为它无法联系服务器脚本。这是一个API调用,用于从数据库获取响应。我的响应如下:[{“Id”:1,“Name”:“放弃进程注释”},{“Id”:2,“Name”:“敌方已关闭”},{“Id”:3,“名称”:“敌方程序已解除”},{“Id”:4,“名称”:“敌方程序已存档”}]您没有
。这可能是“未定义的”。基于此,我不需要它。但我继续尝试了……仍然没有运气:(相同的错误)
Uncaught TypeError: Cannot read property 'length' of undefined
var data = _fnAjaxDataSrc( settings, json );
$.ajax({
    url: '/Portal/api/EventTypes/GetEventWorkflowDefinitions',
    type: 'GET',
    dataType: 'json',
    success: function (data) {
        assignToEventsColumns(data);
    }
});

function assignToEventsColumns(data) {
var table = $('#tableexample').dataTable({
    "dom": 'C<"clear">lfrtip',
    "bAutoWidth": false,
    "aaData": data,
    "aaSorting": [],
    "aoColumnDefs": [
       {
           "aTargets": [0],
           "bSearchable": false,
           "bSortable": false,
           "bSort": false,
           "mData": "EventTypeId",
           "mRender": function (event) {
               return '<input class="childCheck" type="checkbox" id="childCheckBoxes" value="' + event + '">';
           }
       },
       {
           "aTargets": [1], 
           "mData": "EventType"
       }