Я занимаюсь разработкой системы уведомлений для своего веб-приложения, и я новичок в JS / Ajax. Что мне нужно сделать, это отправить переменную в мой PHP, который выполняет код обновления на моем сервере, чтобы установить уведомления как прочитанные, в идеале, когда пользователь открывает раскрывающийся список уведомлений.
Я пытался использовать функции OnClick, однако кнопка, похоже, не активировала Ajax, поскольку данные не обновлялись. В настоящее время я также пытаюсь использовать 'data-role' в моем теге + $ (document) .on ('click', 'a [data-role = ...) в раскрывающемся теге, и все же Аякс, похоже, не активируется. Я оглянулся вокруг и, похоже, не нашел ничего, связанного с такой вещью. Я не знаю, если тег уже переключает выпадающий список, он также не может переключать ajax?
Отказ от ответственности: это мой первый вопрос здесь, так что извините, если я упрощаю / слишком усложняю вещи.
Код Ajax
$(document).ready(function(){
$(document).on('click','a[data-role=update]',function(){
var read = 'Y';
$.ajax({
url : 'Notification.php',
method : 'post',
data : {read : read},
success : function(response){
// now update user record in table
alert("Ajax sent the info!");
}
});
});
});
Который должен быть активирован, когда пользователь нажимает на выпадающий переключатель
<a href="#" class="m-nav__link m-dropdown__toggle" data-role="update">
<span class="m-nav__link-badge badge badge-square badge-danger">
<?php echo $count; ?>
//This var is just a badge w/ a number of notifications
</span>
<span class="m-nav__link-icon">
<i class="flaticon-music-2"></i>
</span>
</a>
My Notification.php имеет следующий код.
include_once("../app_config.php");
$read = $_POST['read'];
if ($read='Y') {
$conexaon = new Connection();
$sqlu = "UPDATE tbl_prinotificacao SET pn_unread = 'N' ORDER BY pn_datetime desc";
$resultu = $conexaon->consulta($sqlu);
if($resultu){
echo 'data updated';
}
}
Я ожидаю, что ajax отправит var по почте для PHP, когда пользователь откроет раскрывающийся список и когда пользователь меняет страницы, уведомления должны быть удалены. Я тестировал только PHP, и он обновляет данные в таблице. Однако при открытии выпадающего меню ничего не происходит с ajax, оно открывается только в обычном режиме и не активирует ajax.