Ajax没有回应

  • 本文关键字:回应 Ajax php ajax
  • 更新时间 :
  • 英文 :


我正在设计一个Web应用程序。在添加 ajax 之前,它工作正常。现在我想添加 ajax,但没有任何反应,因为第一页一次又一次地加载。请告诉我 ajax 没有响应的原因(没有错误消息没有新页面加载(。我的代码如下。h.php是一个简单的文件,说你好。

第一.php:

<html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
 <head>
      <title>Online library </title>
      <link rel="stylesheet" type="text/css" href="CSS/style.css" />
<form method="post">
<div class="result"></div>
UserName:<input type="text" name="name" id="username"><br><br>
Password:<input type="password" name="password" id="password"><br><br>
<button id="loginn" type="submit" name="button" <strong>login</strong> </button>
</form>
<script type="text/javascript" src=""jquery-3.2.0.js""></script>
<script type="text/javascript">
$(document).ready(function(){
     $("#loginn").submit(function(e){   
         var  username=$("#username").val();
         var  password=$("#password").val();
         var result=$('.result').val();
         var dataString = 'username='+username+'&password='+password;
          $.ajax({
           type: "POST",
           url: "log.php",
            data: dataString,
           success: function(responseText){    
            if(responseText==0)    {
            result.html('<span class="error">incorrect username</span>');
            }
        else if(responseText==1)
            {
              window.location="h.php";
           }
        else{
              alert('error in query');
             }
           }
          });
        e.preventDefault();
    });
});
</script>
</body>
</html>

日志.php:

<?php
include 'user.php';
$name=$_POST["username"]; 
$password=$_POST["password"];
$con=new users();
$con->login($name,$password);
?>

用户.php:

<?php
class users
{
public function constructs()
{
$con=mysqli_connect("localhost", "root", "") or die (mysqli_error());
mysqli_select_db($con,'online') or die(mysqli_error($con));
return $con;
}
 function login($username, $password) {
$con=$this->constructs();
$rs = mysqli_query($con, "SELECT username, password FROM member WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($rs)>0)
{
echo 1;
}
else {
echo 0;
}
}
?>

您将代码绑定到 jQuery 的 document.ready 函数,该函数在文档准备好呈现时立即运行您的代码,但我认为这只是问题的一部分。此外,请尝试在代码中的不同位置添加一些控制台.log行,以确保文档引用正常工作。

您粘贴的代码存在一些语法错误,尤其是您的用户.php文件(如果确实是直接复制/粘贴的(。即使文件可能无法打印任何结果,请尝试在浏览器中加载每个结果以查看是否存在语法错误。

您的 html 在第一个.php中的几个地方格式不正确。检查文档类型的位置,为

部分添加正确的结束标签,检查表单本身的格式(特别是登录按钮本身(

这实际上是您代码的一部分吗?

<script type="text/javascript" src=""jquery-3.2.0.js""></script>

如果是这样,应该是

<script type="text/javascript" src="jquery-3.2.0.js"></script>

如果还有其他事情,请告诉我

您的代码中有很多错误,更不用说它非常不安全,正如评论所述。以下是您缺少的一些内容:

  • users.php末尾的花括号
  • Jquery未正确包含在您拥有的索引文件中,并且会" "
  • 您正在侦听按钮而不是表单上的提交事件,请将其更改为单击事件
  • 提交事件 dosent 内的结果 var 需要val()最后你不会看到查询的结果。

如果数据库设置正确,其余代码应该可以工作。

这是工作代码:

索引.php

 $("#loginn").click(function(e){   
     var  username=$("#username").val();
     var  password=$("#password").val();
     var result=$('.result');
     var dataString = 'username='+username+'&password='+password;
      $.ajax({
       type: "POST",
       url: "log.php",
        data: dataString,
       success: function(responseText){   
        console.log(responseText); 
        if(responseText==0)    {
        $(result).html('<span class="error">incorrect username</span>');
        }
       else if(responseText==1)
        {
          window.location="h.php";
       }
        else{
          alert('error in query');
         }
       },
       fail: function(err) {
           console.log(err); 
       }
      });
    e.preventDefault();
});
});

日志.php - 相同

用户.php - 末尾缺少大括号

最新更新