java - Ajax直接进入错误部分

标签 java php html ajax

我不明白我的ajax直接进入错误部分,这是我的代码: 请参阅我对我不确定的行的评论

 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
 <script>      
 function validateLogIn(login)
 {
    var username  = $("#username").val();
    var password  = $("#password").val();
    var login  = $("#login").val();
    var remember  = $("#remember").val();
    console.log(username, password, login, remember);
    $.ajax({     
     url: 'php/login.php',                        
     data: {username:username,password:password,login:login,remember:remember},
     type: 'POST',    
     dataType: 'json',      //is this correct??               
     success: function(data)          
    {
      console.log("sdfsdfs   " + data);
      if(data == true){  //is this correct if I json_encode(true) in login.php?
        console.log("sdfsdfs   " + data);
        form.submit();
      } else
      {
        alert('Please log in again, credentials did not match');
      }
    },
   error: function(data) 
   { 
     alert('Please log in again, credentials did not match...' );
     console.log(data);
   } 
 });  
 return false;
}
</script>   
</head>
<body>
   <form action="crud.html" method="post" name="form" onsubmit="return validateLogIn(this);">
.....

和我的login.php代码:

 <?php
 $username = $_POST['username'];
 $password = $_POST['password']; 
 $login = $_POST['login'];

 if ($_POST['login'] == 'login') //check if the submit button is pressed
 {
   $remember = $_POST['remember'];  
   if ($username&&$password) //check if the field username and password have values
   {
     $dbhost = 'localhost';
     $dbuser = 'root';
     $dbpass = '';

     $connect=mysqli_connect($dbhost,$dbuser,$dbpass) or die("Unable to Connect");
     echo "11..";
     mysqli_select_db($connect,"clients") or die("Could not open the db");
     echo "22..";
     $sql = "SELECT * FROM clients.users WHERE username='$username'";
     $login = mysqli_query($connect, $sql);
     echo "33..";
     if (mysqli_num_rows($login))
     {
        while ($row = mysqli_fetch_assoc($login)) 
        {
            $db_password = $row['password']; 
            if ($password==$db_password)
            {   
                $loginok = TRUE;
                echo json_encode(true);  //is this correct??
            } else {
              echo json_encode(false);               
            }      
         ......

请问我错了什么?

最佳答案

我想,javascript 控制台可能会告诉你更多信息。或者您可以查看错误状态:

error: function(data, status, errorString)
{ 
    console.log(data, status, errorString);
}

关于java - Ajax直接进入错误部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28315380/

相关文章:

java - 类型不匹配 : cannot convert from Optional<Object> to BasketDTO

php - 将变量从 shell exec 传递到 mysql_query

php - 如何将参数传递给呈现图像 crud 的函数

html - 如何在不同的 Div 中对齐这些表格

java - JSF 的 IE 自动填充问题

Java 压缩文件/字节数组问题

c# - 在 C# 中没有等效项的 Java 语言功能

php - 根据最新观察添加一行带有彩色单元格的文本

html - 导航因缩放而中断

jquery - 清除 DIV 中的所有函数