У меня есть обычные таблицы данных на моей веб-странице, они выглядят так:
$(document).ready(function() {
var table = $('#mydb').DataTable({
"serverSide": true,
"ajax": "/myapi/?item=free&format=datatables",
"columns": [
{data: "item",
{data: "Price"},
]
});
setInterval( function () {
table.ajax.reload();
}, 10000 );
});
Эта таблица обновляется каждые 10 секунд, получая последние значения из моей базы данных.
Теперь,Я хотел бы добавить кнопку для динамического изменения содержимого веб-страницы, чтобы она извлекала значения из ?item=taken
вместо ?item=free
, не обновляя страницу.
Вот что я попробовал:
var myvar = 'item=free'
function ChangeVar(){
myvar = 'item=taken'
}
$(document).ready(function() {
var table = $('#mydb').DataTable({
"serverSide": true,
"ajax": "/myapi/?'+ myvar + '&format=datatables",
"columns": [
{data: "item",
{data: "Price"},
]
});
setInterval( function () {
table.ajax.reload();
}, 10000 );
});
HTML
<button onclick="ChangeVar()" name="button5" type="submit" class="btn btn-primary">See taken items</button>
Я добавил кнопку, которая указывает на функцию ChangeVar()
, функция должна изменить имя главной переменной, которое используется взапрос ajax. Это не сработало, может быть, потому что я не использую область видимости переменной должным образом, и я думаю, что это не сработает, потому что Ajax является асинхронным, поэтому мне нужно добавить что-то еще.
Может кто-то указатьмне решение, которое будет работать для этой проблемы?