带有Ajax的jQuery动画发布到php脚本

时间:2019-05-22 13:45:36

标签: php jquery ajax

我正在尝试使我的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);
            }
        },
    });
});

1 个答案:

答案 0 :(得分:0)

在使用了Diego的建议并将管道输出到控制台日志之后,我能够确定php函数未返回任何内容。添加回显以及相应的结果解决了我的问题,并在if语句中使用了“数据”而不是“ data.status”。