Мой вопрос заключается в следующем. У меня есть веб-сайт, который я разрабатываю, и я столкнулся со следующей проблемой, которую не могу решить. Я делаю запросы к mysql с помощью php и храню их в файлах cookie с ошибками или хорошо сделанными запросами, и я хочу, чтобы пользователь на экране получал уведомление о том, что он был выполнен правильно. Для уведомлений я использую следующий js/Jquery, он предназначен для запуска, когда я получаю щелчок по идентификатору кнопки, но я хочу выполнить его, когда этот запрос будет завершен. Вы можете помочь мне?
$(document).ready(function () {
"use strict";
var i = -1;
var toastCount = 0;
var $toastlast;
var getMessage = function () {
var msgs = ['Ejemplo de notificación'];
i++;
if (i === msgs.length) {
i = 0;
}
return msgs[i];
};
$('#newLista_alert').click(function () {
var shortCutFunction = 'success';
var msg = 'Preparada para meterle canciones';
var title = 'Lista creada existosamente' || '';
var $showDuration = $(300);
var $hideDuration = $(1000);
var $timeOut = $(2000);
var $extendedTimeOut = $(500);
var toastIndex = toastCount++;
var addClear = $('#addClear').prop('checked');
toastr.options = {
closeButton: true,
debug: false,
newestOnTop: false,
progressBar: true,
positionClass: 'toast-bottom-right' || 'toast-top-right',
preventDuplicates: false,
onclick: null
};
toastr.options.showEasing = 'swing';
toastr.options.hideEasing = 'linear';
toastr.options.showMethod = 'fadeIn';
toastr.options.hideMethod = 'fadeOut';
var $toast = toastr[shortCutFunction](msg, title); // Wire up an event handler to a button in the toast, if it exists
$toastlast = $toast;
if (typeof $toast === 'undefined') {
return;
}
if ($toast.find('#okBtn').length) {
$toast.delegate('#okBtn', 'click', function () {
alert('you clicked me. i was toast #' + toastIndex + '. goodbye!');
$toast.remove();
});
}
if ($toast.find('#surpriseBtn').length) {
$toast.delegate('#surpriseBtn', 'click', function () {
alert('Surprise! you clicked me. i was toast #' + toastIndex + '. You could perform an action here.');
});
}
if ($toast.find('.clear').length) {
$toast.delegate('.clear', 'click', function () {
toastr.clear($toast, { force: true });
});
}
});
function getLastToast() {
return $toastlast;
}
$('#clearlasttoast').click(function () {
toastr.clear(getLastToast());
});
$('#cleartoasts').click(function () {
toastr.clear();
});
});
МОЙ КОД ДЛЯ MYSQL
<?php
session_start();
if (isset($_REQUEST['newLista'])){
$nombrelista = $_REQUEST['nombrelista'];
$usuario = $_SESSION['usuario'];
require_once "../biblioteca.php";
$db = ConectaDb($dbHost, $dbUser, $dbPass, $dbName);
$consulta = "INSERT INTO lista_musica (nombre,usuario) VALUES (:lista,:usuario)";
$result=$db->prepare($consulta);
if ($result->execute([":lista" => $nombrelista, ":usuario" => $usuario,])){
setcookie('result_musica','0',time()+10);
header ('location: ../../ui-musica.php');
}
else{
echo "LISTA NO SE PUDO CREAR";
}
}
?>
Смотрите также много других вопросов по теме: stackoverflow.com/search?q=insert+database+record+php+jquery
Мне нужно, чтобы при вводе, если он был вставлен правильно, пропустить этот js при повторном входе на страницу ui-music.php. Вы понимаете меня?
С AJAX вам не нужно, чтобы пользователь покидал страницу, поэтому вы можете удалить строки header(.. и setcookie(.. из вашего php и просто echo "SUCCESS";. Затем вы можете получить к нему доступ с помощью jQuery.ajax(). Если вы хотите запомнить это в течение нескольких сеансов, вы можете установить файл cookie в jQuery, используя $.cookie()
Хорошо, спасибо, я попробую это
Приносим извинения: $.cookie() на самом деле является плагином jQuery, поэтому вы можете использовать основные функции document.cookie() javascript вместо этого, если вы не хотите использовать плагин: w3schools.com/js/js_cookies.asp



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Найдите функцию jQuery.ajax() и используйте ее в том месте, где вы хотите вызвать PHP, скорее всего, в одной из ваших функций щелчка.