2015-12-21 5 views
1

Я делаю вызов Ajax, и возвращаемое значение сохраняется в переменной «data». Теперь я хочу использовать эти «данные» (в виде объекта JSON) для привязки таблицы «templateRegArea».Данные не заполняются в JQuery Datatable

$.ajax({ 
    url: "Ajax_UserPermissionProfile.aspx/GetTemplatePropertyList", 
    method: 'post', 
    type: "POST", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    data: "{ 'iAcctId': '" + $('#hidIAcctId').val() + "', 'iTemplateID': '" + templateID + "'}", 

    success: function(response) { 
     var data = eval((response.d != undefined) ? response.d : response); 
     alert(data); 
     $('#templateRegArea').DataTable({ 
      ajax: data, 
      columns: [{ 
       data: data.ID 
      }, { 
       data: data.Name 
      }, { 
       data: null, 
       className: "center", 
       defaultContent: '<a href="" class="editor_edit">Edit</a>/<a href="" class="editor_remove">Delete</a>' 
      }] 
     }); 
    }, 
    error: function(error) {} 
} 

Я получаю следующее сообщение об ошибке.

error

enter image description here

+0

Вы получаете «Недействительный ответ JSON». Какова ценность этих «данных»? –

+0

data.ID и data.Name содержит некоторое значение –

+0

Скопируйте и вставьте данные здесь @Roneetshaw – JBux

ответ

0

Иногда DataTable ожидает все столбцы, которые будут отображаться с данными, посланных в формате JSON.

0

Я предполагаю, что эти значения «ID» и «Имя» являются значениями, которые вы хотите поместить в таблицу в виде строк. Свойство «столбцы» DataTable ожидает получить имена столбцов, а не его значения. Из документации example:

$('#example').DataTable({ 
    "columns": [ 
     { "data": "name" }, 
     { "data": "position" }, 
     { "data": "office" }, 
     { "data": "age" }, 
     { "data": "start_date" }, 
     { "data": "salary" } 
    ] 
}); 

Что вы должны сделать, это создать столбцы с "data": "ID" и "data: Name", а затем добавить эти значения в виде строк.

+0

Но как добавить источник данных? –

+0

Добавить поле «данные» в конструктор: http://datatables.net/examples/data_sources/js_array.html –

Смежные вопросы