2015-11-08 67 views
3

當我輸入錯誤的細節並運行它時。它彈出錯誤消息,但如果我然後輸入正確的細節,然後再次運行它。在按鈕的符號改變爲「連接...」,因爲它應該,但再沒有什麼事情發生只有一次工作的Ajax事件

$(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'); 
        }; 
       } 
      }); 
     }); 
    }); 
}); 
+1

你的問題是什麼?你做了什麼來調試你的代碼? –

回答

-2

與小提琴手運行功能..和/或錯誤參數添加到您的AJAX ......賠率是你的網絡請求不是成功的。

1

工作一次的原因。

當你的Ajax解僱,首先要做到的是顯示連接..然後,當你得到迴應這件事data你的聲明說

if data == success //redirects 

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

所以如果你的數據不是更迭/爲userpass

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

我建議你的數據應該是一個對象,並檢查是否有與它的消息的錯誤,總之有它在你的後臺,只是jQuery的顯示信息

0

有當登錄生成的令牌頁面被加載並與Ajax一起發送。但我的PHP令牌系統不喜歡反覆發送相同的令牌並阻止請求。