AJAX 호출을 사용하여 테이블에 값을 표시하려고합니다. 그것에 사용 된 코드는 다음과 같습니다.데이터 테이블을 Ajax 호출로 채우기
initTable();
function initTable(){
return $('#exEmpListTable').dataTable({
"bPaginate": false,
"sScrollY": "200px",
"bScrollCollapse": true
});
}
function tableActions(){
var oTable = initTable();
// perform API operations with oTable
oTable.fnSort([ [1,'desc']]);
}
$("#btnShowExEmpList").click(function (e){
var selectedShop = $('#Shop').val();
if(selectedShop == null){
alert(" Please select a shop first ");
return false;
}
if(selectedShop != null){
alert("==== Selected Shop ==== "+selectedShop);
var $exEmpDialog = $("#Dialog").dialog({
width :275,
height: 400,
resizable: false,
position: ['top', 200],
modal: true
});
$exEmpDialog.dialog('close');
$.ajax({
url : 'empReqCreateNewReq.do',
data : { getExEmpList: true, SelectedShop : selectedShop, ajaxCall : true },
method : 'GET',
dataType : 'json',
contentType: "application/json; charset=utf-8",
success : function(data) {
alert('success === ' +data.exemplist.length);
alert("======== ELEMENTS ======== "+JSON.stringify(data));
//rePopulateExEmpList(data);
//data = JSON.stringify(data);
$exEmpDialog.dialog('close');
//$(this).dialog('close')
var oTable = initTable();
oTable = $("#exEmpListTable").dataTable();
//oTable.fnClearTable(0);
oTable.oData[data];
oTable.fnDraw();
$exEmpDialog.dialog('open');
},
error : function(xhr, status) {
alert('Sorry, there was a problem while placing your ajax request. Contact Admin!');
}
});
}
//$("#Dialog").dialog();
});
실행 중에 경고 봇에 valus가 표시됩니다. 그러나 그 후,이
DataTables warning (table id = 'exEmpListTable'): Cannot reinitialise DataTable.
는 DataTables이 테이블에 대한 객체를 검색하려면 오류 메시지를 보여줍니다 중 하나없는 DataTable의() 함수에 인수, 또는 설정 bRetrieve true로 통과하십시오. 또는 이전 테이블을 파괴하고 새로운 테이블을 생성하려면 bDestroy를 true로 설정하십시오 (일반적으로 훨씬 빠른 API를 통해 구성을 변경할 수 있습니다).
이 문제를 해결하는 데 도움을주십시오.
아약스 호출을 먼저 수행 한 다음 dataTable을 초기화해야한다고 생각합니다. 데이터를 다시 얻으려는 경우 파괴해야합니다. – jcubic