2017-05-07 5 views
1

私はJquery & ajax & phpを使用してログインフォームを作成しています。 sucess関数以外はすべて動作しています。 PHPファイルからの応答が取得されると、それがtrueであってもelse文が実行されます。JQueryのif文が機能しない(AJAX/PHP)

はJQuery/Ajaxコード

$('document').ready(function() 
{ 
    $("#btnLogin").click(function(){ 

    email=$("#userEmail").val(); 
    password=$("#userPassword").val(); 
    $.ajax({ 

     type : 'POST', 
     url : 'userLogin.php', 
     //data : {userEmail: email, userPassword: password}, 
     data: "userEmail="+email+"&userPassword="+password, 
     success : function(response) 
     {  
     if(response==='true'){  
      //login sucess animation 
       $("#btnLogin").html('<img src="media/login.gif" /> &nbsp; Iniciando sessão ...'); 
       setTimeout(' window.location.href = "index.php"; ',4000); 
     } 
     else{ 
      //error message 
      $("#error").fadeIn(5000, function(){  
       $("#errorlogin").html('<div class="alert alert-danger"> <span class="glyphicon glyphicon-info-sign"></span> &nbsp; '+response+' !</div>'); 
       //$("#btnLogin").html('<span class="glyphicon glyphicon-log-in"></span> &nbsp; Sign In'); 
      }) 
      } 
     }, 
     beforeSend: function() 
     {    
      $("#loginerror").fadeOut(); 
      $("#btn-login").html('<span class="glyphicon glyphicon-transfer"></span>'); 
     } 
    }); 
    return false; 
    }); 
}); 

応答がtrueに等しい場合であっても、それは(アラートが言って示されている「真!」の代わりにログインアニメーションの)elseステートメントを実行します

+2

コンソールに表示されているものを表示してください。 – gaganshera

+0

私にとっては –

+0

と答えてください。AJAXレスポンスとして文字列かブール値かどうかを最初に確認してください。 –

答えて

0

をトリミングしてみ私が応答をエコーし​​た後、私のPHPファイルに座って古い<script type="text/javascript"> //window.location="index.php"; </script> を持っていたし、それがこの混乱を引き起こしていたものでした。 私はgagansheraが示唆したことをした後でしか見ることができませんでした(console.log(レスポンス)を使用して)

0

戻ります余分な空白のために単純な文字列がバグになる可能性があります。

は、文字列またはより良いリターンJSON

if(response.trim()==='true'){ 
関連する問題