@Energy2

Есть ли success или .done в DataTables ajax?

В документации по этому поводу ничего не нашел.
У меня есть кнопка, по нажатию на которую происходит загрузка данных в таблицу.
$(document).on('click', '#history', function(){
	$('#datable_history').DataTable({"sDom": '',
	ajax: { 
		url: '/api/history.php',
		deferRender: true,
		dataSrc: ''
},
	 columns: [
	 	{ data: 'date_transaction' },
        { data: 'type_transaction' },
        { data: 'system' },
        { data: 'amount' },
        { data: 'h_currency' }
	 ]

	});

});

Пробовал писать и success и .done - результата никакого.
Есть ли они вообще в datatables ajax?
Если нет, то как можно предотвратить повторную загрузку данных? (Если попытаться загрузить данные повторно, datatables выводит alert). И еще вопрос, как передать данные обработчику через такой запрос?
  • Вопрос задан
  • 43 просмотра
Решения вопроса 1
ixon
@ixon

Вы можете использовать для этого dataSrc.
Вот пример с сайта datatables.net:
var table = $('#example').DataTable( {
    "ajax": {
            "type" : "GET",
            "url" : "ajax.php",
            "dataSrc": function ( json ) {
                //Make your callback here.
                alert("Done!");
                return json.data;
            }       
            },
    "columns": [
            { "data": "name" },
            { "data": "position" },
            { "data": "office" },
            { "data": "extn" },
            { "data": "start_date" },
            { "data": "salary" }
        ]
    } );
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@BRAGA96
Как вариант:
$(document).on('ajaxComplete', function(event, jqXHR, setting) {
	if (setting.url.includes('ajax.php')) jqXHR.done(function(data) {
		console.log('SUCCESS', data);
	});
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Finch Москва
от 120 000 до 150 000 руб.
Wallet One Сочи
от 100 000 руб.
TrendAgent Санкт-Петербург
от 80 000 до 140 000 руб.
24 окт. 2018, в 03:19
3000 руб./за проект
24 окт. 2018, в 01:07
35000 руб./в месяц