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 を使用して行うことができます)。
この問題を解決するのを手伝ってください。