2015-01-21 95 views
-3

我想從服務器(php)驗證user_id和手機號碼。當我輸入錯誤的user_id和手機號碼,所以每次Ajax執行成功(如果)部分而不是其他部分。Ajax調用總是運行成功功能

我的AJAX是

  <script> 
      $(document).ready(function() { 
      $("#b").click(function(){ 
      var user_id=$('#user_id').val(); 
      var mobile=$("#mobile").val(); 
        $.ajax({ 
          type:"POST", 
          url:"http://localhost/test.php", 
          data:{user_id:user_id, mobile:mobile}, 
           success:function(response){ 
           if(response="valid"){ 
            alert(response); 
            window.location='https://www.google.co.in'; 
           } 
           else{ 
            alert("invalid"); 
           }      

           }, 
           error:function(response){ 
           alert("error"); 
           } 
          });  

       }); 
       }); 

</script> 

我的PHP代碼

<?php 
    $user_id=$_POST['user_id']; 
    $mobile=$_POST['mobile']; 
    [email protected]_connect("localhost","root","")or die('connection failed: ' . mysql_error()); 
    $db=mysql_select_db("sorethroat"); 
    $result = mysql_query("SELECT * FROM `myfieldmembers` where `employee_id`='".$user_id."' && `mobile`='".$mobile."'"); 
    if($result === FALSE) { 
     die(mysql_error()); // TODO: better error handling 
    } 
    if(mysql_num_rows ($result)>0) { 
     echo "valid"; 
    } else { 
     echo"invalid"; 
    } 

?> 

在服務器端後,硬編碼的PHP工作正常

+1

這是一個賦值'如果(響應=「有效」)'它應該是一個比較'如果(響應= =「有效」)' – Ghost 2015-01-21 08:35:10

+0

這純粹表明缺乏努力之前發佈這看這段代碼if(response =「valid」){ – 2015-01-21 09:17:57

+0

現在其他部分每次執行:( – 2015-01-21 09:45:31

回答

1

response="valid"變化response=="valid"

+0

後校正如響應==「有效」現在其他部分正在執行每個登錄時間,我錯了:(? – 2015-01-21 09:41:21

+0

你輸入了正確的用戶名和密碼嗎? – onegun 2015-01-21 09:47:02

+0

是的,我輸入了正確的用戶名和密碼, ecute else part like invalid – 2015-01-21 09:53:48

0

你已經通過用1/0代替有效/無效來解決它,所以它現在正在工作。

對於誰遇到同樣的問題,不能用0/1來替代人:

檢查response的長度。 有時候會添加空格,在這種情況下,當你檢查屏幕上的值時,它會看起來像你比較「短語」==「短語」,但你的代碼將比較「短語」==「短語」(注意空間)不一樣。

在已經不得不面對這個問題我自己,我使用這個默認

response = response.trim(); 
+0

是的,你是正確的,我已經做了替換1/0。它正在工作:D – 2015-01-21 12:13:17