Анимация Jquery с публикацией Ajax в php-скрипт

Я пытаюсь заставить свой jQuery работать с анимацией/изменениями классов CSS и работать с сообщением ajax для этого форума входа в систему. У меня возникли проблемы с переработкой сценария анимации JQuery и включением порта Ajax для имени пользователя и пароля. Похоже, он не публикует данные для входа.

<form class="login" action="" method="post" autocomplete="false">
    <div class="group">

        <input id="user" type="username" name="user" class="input" placeholder="Username" required autofocus>
    </div>
    <div class="group">

        <input id="password" type="password" name="password" class="input" data-type="password" placeholder="Password" required>
    </div>
    <div class="group">
        <button>
            <i class="spinner"></i>
            <span class="state">Log in</span>
        </button>
    </div>

    <div class="hr"></div>
</form>

Вот jQuery

var working = false;
$('.login').on('submit', function(e) {
    e.preventDefault();
    if (working) return;
    working = true;
    var $this = $(this),
        $state = $this.find('button > .state');
    $this.addClass('loading');
    $state.html('Authenticating');
    $.ajax({
        type: "POST",
        data: $(this).serialize(),
        cache: false,
        url: "login.php",
        success: function(data) {
            if (data.status == 'success') {
                this.addClass('ok');
                $state.html('Welcome back!');
                setTimeout(function() {
                    window.location = "/index.php"
                }, 4000);
            } else if (data.status == 'error') {
                setTimeout(function() {
                    $state.html('Log in');
                    $this.removeClass('ok loading');
                }, 3000);
            }
        },
    });
});
«Кажется, он не публикует данные для входа» - как вы это определили? И о каких «анимациях jQuery» вы говорите, я вижу, вы добавляете только классы — так вы на самом деле имеете в виду CSS-анимации, запущенный через jQuery…?
04FS 22.05.2019 15:58

И почему это использует тайм-ауты для начала? В этот момент вы не знаете, действительно ли я успешно аутентифицировал себя, но ваш скрипт, похоже, добавляет класс ok и отображает «Добро пожаловать!» в любом случае… имеет довольно мало смысла. Это должно быть обработано внутри обратным вызовом AJAX, в зависимости от того, какой статус на самом деле вернул сценарий на стороне сервера.

04FS 22.05.2019 16:00

извините, я не уделял должного внимания. Я отредактировал сценарий, используя ваши предложения. Я знаю, что он, похоже, не публикуется, потому что индекс проверяет сеанс var для «доступа», который установлен в 1 в PHP-скрипте после успешного завершения функции. Система отлично работает без функции jquery на кнопке входа.

mister.cake 22.05.2019 16:24

Возможно, PHP-скрипт проверяет, включено ли конкретное значение кнопки отправки в данные POST, чего здесь не будет, потому что вы обходите обычную отправку формы, и в то время, когда данные формы сериализуются, нет информации Доступно, какая конкретная кнопка могла вызвать это.

04FS 22.05.2019 16:29

как сделать login.php? Можете ли вы опубликовать ответ «console.log (данные)»

Diego Favero 22.05.2019 16:49

После использования предложения Диего и передачи в журнал консоли я смог определить, что функция php ничего не возвращает. Добавление эха с соответствующими результатами решило мою проблему вместе с использованием «данных» в операторе if вместо «data.status».

mister.cake 23.05.2019 17:08
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Что нового в PHP 8.1?
Что нового в PHP 8.1?
Если вы все еще используете PHP 7, то эта статья для вас. В PHP 8, а именно в PHP 8.1, встроены некоторые очень востребованные функции, которые вам...
Разработка LMS на заказ для повышения эффективности работы и обучения
Разработка LMS на заказ для повышения эффективности работы и обучения
За последние годы в образовании произошла большая революция, и сегодня почти все учебные заведения делают упор на эксклюзивное управление учебным...
0
6
47
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

После использования предложения Диего и передачи в журнал консоли я смог определить, что функция php ничего не возвращает. Добавление эха с соответствующими результатами решило мою проблему вместе с использованием «данных» в операторе if вместо «data.status».

Другие вопросы по теме

Почему путь SVG сворачивается до 0x0 при построении с использованием интерфейса DOM, но работает при построении с использованием строки jQuery
Как использовать метод JQuery .append() для добавления строки, содержащей html?
JavaScript: Uncaught SyntaxError: непредвиденная ошибка строки jQuery
Автоматическое обновление итогов корзины при изменении количества товаров в корзине в Woocommerce
Действие, когда элемент из коллекции прокручивается
JQuery Как разобрать время начала и окончания по часам
Как вызвать функцию, когда определенный элемент находится в поле зрения, а также он должен запускаться только один раз
Как создать динамические параметры для поля выбора, используя элементы массива? и использовать это значение поля параметра на другой странице jsp?
Заголовок должен скользить вверх и вниз при прокрутке страницы
Удалить запись при нажатии нескольких флажков