@kr_ilya

Есть ли 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). И еще вопрос, как передать данные обработчику через такой запрос?
  • Вопрос задан
  • 714 просмотров
Решения вопроса 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
@BRAGA96
Как вариант:
$(document).on('ajaxComplete', function(event, jqXHR, setting) {
	if (setting.url.includes('ajax.php')) jqXHR.done(function(data) {
		console.log('SUCCESS', data);
	});
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы