簡體   English   中英

Ajax事件只工作一次

[英]Ajax event only working once

當我輸入錯誤的細節並運行它。 它彈出錯誤消息,但如果我然后輸入正確的詳細信息,然后單擊再次運行它。 登錄按鈕變為“正在連接...”,但它沒有其他任何事情發生

$(document).ready(function() {

    var width = ( $(".main").width() - 5);
    if (width < 300) {
        $(".logo-img").css({"width":width});
    };

    $("#error").hide();

    $(function() {
        $('#login').on('click', function(e){
            e.preventDefault();

            var token = $('#token').val();
            var username = $('#username').val();
            var password = $('#password').val();
            var remember = $('#remember:checked').val();

            $.ajax({
                url: 'core/functions/ajaxLogin.php',
                method: 'POST',
                data: { 'username' : username,
                        'password' : password, 
                        'remember' : remember, 
                        'token' : token },
                dataType: 'html',
                cache: false,
                beforeSend: function() { $('#login').val('Connecting...') },
                success: function( data ) {
                    if (data == 'success') {
                        setTimeout( "window.location.href='backorderbook';", 500 );
                    } else if( data == 'userorpass' ) {
                        $('#error').fadeIn();
                        $('#error_message')
                           .html('username or password were entered incorrectly');
                        $('#error').delay(3500).fadeOut();
                        $('#login').val('Sign In');
                    };
                }
            });
        });
    });
});

工作一次的原因。

當你的ajax被解雇時,首先要做的是顯示連接..然后當你得到響應時,你的聲明說的是data

if data == success //redirects

elseif data == userpass //show you have invalid username/password and clear html

那么如果您的數據不是成功/用戶通過怎么辦?

它只會運行你的ajax beforeSend()而不會刪除你運行一次的連接。

我建議你的數據應該是一個對象並檢查它上面的消息是否有錯誤,簡而言之就是你的后端只有jquery顯示該消息

加載登錄頁面並使用Ajax發送時會生成令牌。 但我的PHP令牌系統不喜歡反復發送相同的令牌並阻止請求。

用Fiddler運行你的函數..和/或將錯誤參數添加到你的ajax ...賠率是你的網絡請求不成功。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM