Javascript datatable,然后在不重新加载页面的情况下编辑查询并再次单击enter或query,这是错误消息:DataTables警告:table id=test table-无法重新初始化datatable。有关此错误的更多信息,请参阅我曾尝试使用try.de
Javascript datatable,然后在不重新加载页面的情况下编辑查询并再次单击enter或query,这是错误消息:DataTables警告:table id=test table-无法重新初始化datatable。有关此错误的更多信息,请参阅我曾尝试使用try.de,javascript,jquery,html,ajax,datatables,Javascript,Jquery,Html,Ajax,Datatables,datatable,然后在不重新加载页面的情况下编辑查询并再次单击enter或query,这是错误消息:DataTables警告:table id=test table-无法重新初始化datatable。有关此错误的更多信息,请参阅我曾尝试使用try.destroy()部分解决此问题,但这似乎不起作用。啊,是的,这是一个Datatables问题,您发布的链接提供了一些解决此问题的方法。您可以选择一个更适合您的用例。 <div class="container-flu
datatable,然后在不重新加载页面的情况下编辑查询并再次单击enter或query,这是错误消息:DataTables警告:table id=test table-无法重新初始化datatable。有关此错误的更多信息,请参阅我曾尝试使用try.destroy()部分解决此问题,但这似乎不起作用。啊,是的,这是一个Datatables问题,您发布的链接提供了一些解决此问题的方法。您可以选择一个更适合您的用例。
<div class="container-fluid">
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
<p>Please enter a SQL query below</p>
<p>Do not wrap your query in outer quotation marks.</p>
<p>For database structure information, please select "Learn About the Database" above.</p>
</div>
</div>
<div class="row">
<div class="col-xs-11 col-sm-11 col-md-11 col-lg-11">
<div class="active-cyan-4 mb-4">
<input id="sql-placeholder" class="form-control" type="text" placeholder="Write SQL here..." aria-label="Search">
</div>
</div>
<div class="col-xs-1 col-sm-1 col-md-1 col-lg-1">
<button id="query-button" type="button" class="btn btn-primary" onclick="DisplayQuery()">Query</button>
</div>
</div>
</div>
<div class="container-fluid">
<table id="test-table" class="table table-striped table-bordered dt-responsive nowrap" cellspacing="0" width="100%">
</table>
</div>
var DisplayQuery;
(function($) {
DisplayQuery = function() {
$.ajax({
method: 'POST',
url: '*****',
beforeSend: function(xhr) {
xhr.setRequestHeader("access-control-allow-origin", "*")
},
data: JSON.stringify({
"sqlStatement": $('#sql-placeholder').val()
}),
contentType: 'application/json',
success: function(response) {
// Get columns labels as list of dictionaries colLabels
var colLabels = [];
for (i = 0; i < response.sqlStatementResults[0].resultFrame.resultSetMetadata.columnMetadata.length; i++) {
colLabels.push({
title: response.sqlStatementResults[0].resultFrame.resultSetMetadata.columnMetadata[i].name
});
};
// Get data rows as array of arrays dataRows3
var dataRows = response.sqlStatementResults[0].resultFrame.records;
var dataRows2 = [];
var dataRows3 = [];
for (i = 0; i < dataRows.length; i++) {
dataRows2.push(dataRows[i].values);
};
dataRows2.forEach(arr => {
rowVals = [];
arr.forEach(e => {
Object.entries(e).forEach(k => rowVals.push(k[1]))
});
dataRows3.push(rowVals);
});
try {
$('#test-table').destroy();
} finally {
// Write DataTable from colLabels and dataRows3
$('#test-table').DataTable({
data: dataRows3,
columns: colLabels,
scrollX: true
});
}
},
error: function ajaxError(error) {
console.error('Error in query processing; please try again.');
}
})
}
}(jQuery));
$('#sql-placeholder').keypress(function(e) {
if(e.which == 10 || e.which == 13) {
DisplayQuery();
}
})
document.getElementById('#sql-placeholder').onkeypress = function(e) {
var keyCode = e.keyCode || e.which
if (keyCode === '13') {
// Enter pressed
DisplayQuery()
}
}