У меня проблема с задержкой нажатия кнопки. Я уже просматривал stackoverflow, и я нашел пару ответов, и это достаточно легко с помощью setTimeout, но я не могу заставить его работать над тем, над чем я работаю. Вот пример кода:Задержка Javascript button onClick using setTimeout
AJAX отправляет данные в базу данных на кнопки отправки нажмите
<script>
$(function() {
$('form').on('submit', function (e) {
$.ajax({
type: 'post',
url: 'post.php',
data: $('form').serialize(),
});
e.preventDefault();
});
});
</script>
Толкатель код
<script>
$(function() {
var pusher = new Pusher('pusher')
var activityChannel = pusher.subscribe('stream');
var activityMonitor = new PusherActivityStreamer(activityChannel, "#current");
var examples = new ExampleActivities(activityMonitor, pusher);
$("#broadcast").click(function(){
activityMonitor.sendActivity('broadcast');
});
$("#submit").click(function(){
activityMonitor.sendActivity('submit');
});
});
</script>
кнопки HTML
<input id="submit" name="submit" type="submit" value="Submit" onclick="addMEM()"><br>
<button id="broadcast">Broadcast</button>
Onclick = "addMEM()" в кнопке отправки для другого скрипта. Это довольно занятая кнопка.
Итак, что происходит, я нажимаю «Отправить», и сценарий ajax выталкивает данные в post.php, который отправляет его в базу данных. С помощью этого же нажатия «Отправить» запускается код Pusher, который в конечном итоге вытаскивает данные, отправленные из базы данных, и передает их всем, кто подключен.
Проблема, с которой я сталкиваюсь, заключается в том, что Submit отправляет данные в базу данных и запускает Pusher, который вытаскивает из базы данных одновременно. 75% времени, когда код толкателя пытается вытащить данные из базы данных до отправки Submit.
Я поставил setTimeout везде, о котором я мог думать, и просто не мог отложить код Pusher. Какие-либо предложения? Это нормально, если кнопки Submit AND Broadcast задерживаются. Это не нормально, если нажатие кнопки «Отправить» задерживает код AJAX или onclick = addMEM()
Извините, что это так сложно. Это последний шаг длинного проекта, и если я смогу получить эту работу, тогда все CSS, ввод данных и математика отсюда.
Запустит Код «Pusher» как обратный вызов вашего вызова '$ .ajax(). – Pointy