Добрый день, коллеги!
Никак не могу понять, что за ошибка в AJAX-запросе.
Намеренно уменьшаю количество кода.
Есть форма, в которую в цикле выводится массив данных из БД. В форме несколько input type="submit". Один из них отвечает за удаление записи из БД:
<form id="util_proc" name="util_proc" method="post" action="handlers/utilities_processing.php">
...
<input id="delete_utility" name="delete_utility" class="delete_link" type="submit" data-this-id="<?=$util['id']?>" value="Удалить утилиту" >
...
</form>
Атрибут data-this-id отвечает за уникальность каждого input.
Событие click на этом input обрабатываю javascript:
$('#delete_utility').click(function(){
var data_uid = $(this).data('this-id'); // здесь все правильно - в переменную data_uid записваются верный id
$.ajax({
type: 'POST',
url: '../admin/handlers/utilities_processing.php',
data: data_uid,
success: function(data){
console.log('success');
},
error: function(data){
console.log('error');
}
});
});
Часть кода обработчика:
if ( isset ($_POST['delete_utility']) ) {
}
Обработчик срабатывает (тоже проверено), но переменная из AJAX сюда не доходит. Проверял ответ сервера на вкладке "Сеть" отладчика Firefox.
Проблема в коде javascript: он возвращает error со статус-кодом 0.
Почему не передаются данные?
Пробовал и data: data_uid, и data: {data_uid}, и data: {id: data_uid}, и data: {'id': data_uid}, и {`id`: data_uid} результат один и тот же. Также применял dataType: 'json' и 'text'.