2015-01-21 32 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