DataTables 1.10.18 в режиме на стороне сервера и jquery 3.2.1
Установите следующим образом:
var bySubstancesTable = $('#bySubstancesTable').DataTable({
processing: true,
serverSide: true,
searching: false,
ajax: {
data: {
list_requested: 'bySubstancesTable', // <table> #ID
keywords: $('#keywords-bysubstancestable').val() // search keywords
},
url: '/get-product-notifications.json',
},
"language": {
...
"processing": 'Loading notifications...'
}
...
});
Разметка для страницы имеет <input>
с идентификатором,#keywords-bysubstancestable
, после разметки для таблицы:
<input type="text" id="keywords-bysubstancestable">
<table id="bySubstancesTable" class="table display table-striped responsive" cellspacing="0" width="100%">
<thead>
<tr>
<th>Date</th>
<th>ID</th>
<th>Substance Name</th>
<th>Revision</th>
<th>Affected Products</th>
</tr>
</thead>
</table>
При загрузке страницы таблица правильно заполняется. Я пытаюсь реализовать функцию пользовательского поиска, вместо того, чтобы использовать один в комплекте с DataTables. Ранее я задавал этот вопрос: DataTables - убивать запросы ajax при запуске нового , на котором я основываю свою работу.
Когда я пытаюсь перерисовать таблицу - после того, как пользовательвошел вход в #keywords-bysubstancestable
вход - как это ...
var debouncedDraw = _.debounce(function (opts) {
bySubstancesTable.draw();
return false;
}, 500);
... это делает запрос Аякса /get-product-notifications.json
но keywords:
параметр в запросе опустошить даже когда я»мы набрали input.
Что странно, что если я console.log($('#keywords-bysubstancestable').val())
, это фактически дает значение. Например, если я типа «Австралия» в ввести console.log()
утверждение дает это:
1026 *
1031 * Но если смотреть по запросу на вкладке Network
keywords:
пусто даже при отправке всех остальных параметров:
Почему это происходит?
В результате получается, чтотаблица показывает «Загрузка уведомлений ...» текст, но ничего на самом деле не меняется в таблице.
1043 * Я не понимаю этого, потому что я скопировал
bySubstancesTable.draw();
из другого проекта, в котором он появляется на работе. Я полагаю, что
.draw()
действительно является правильным способом перерисовки таблицы?