Javascript Ajax登录返回错误的详细信息,即使详细信息正确
我不熟悉ajax、jQuery和JavaScript,这对我自己来说更像是一个学习练习,以提高一些技能。我想从作为独立页面的登录页面(即loginForm.php,它将数据发送到login.php,然后重定向到登录部分)转移到jQuery ajax路径 我已按如下方式构建了我的索引页:Javascript Ajax登录返回错误的详细信息,即使详细信息正确,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我不熟悉ajax、jQuery和JavaScript,这对我自己来说更像是一个学习练习,以提高一些技能。我想从作为独立页面的登录页面(即loginForm.php,它将数据发送到login.php,然后重定向到登录部分)转移到jQuery ajax路径 我已按如下方式构建了我的索引页: <form id="login_form"> <h1>Login Form</h1> <div> <input type="t
<form id="login_form">
<h1>Login Form</h1>
<div>
<input type="text" placeholder="Username" required="" id="user_name" name="user_name"/>
</div>
<div>
<input type="password" placeholder="Password" required="" id="password" name="password"/>
</div>
<div class="err" id="add_err"></div>
<div>
<input type="submit" value="Log in" id="login" />
</div>
</form>
当我console.log(info)
时,它在日志中告诉我这是一个对象,它包含我需要发送的信息。所以我相信到目前为止这部分还可以。以下脚本是my login.php:
<?php
include('secure.php'); // includes PDO database connection here
$username = $_POST['username'];
$password = $_POST['password'];
$sel = $db->prepare("SELECT * FROM aaUsers WHERE username='$username' AND password='$password'");
$sel->execute();
$count = $sel->rowCount();
if ( $count >= 1) {
echo "true";
}
else
{
echo "false";
}
?>
您使用的是chrome还是firefox(firebug)?打开开发人员控制台,观察AJAX调用返回的结果。如果它是空的,那么正如scrowler所说的,您的php是错误的。您还可以创建一个快速的非ajax测试表单,以ol'风格的方式发布这两个变量
<html>
<body><form action=login.php method=post><input name=username/> <input name=password/> <input type=submit></form></body></html>
填空并点击提交。我的坏消息
原来我打过电话:
$sel = $db->prepare(...);
而不是:
$sel = $conn->prepare(...);
现在可以正常工作了,感谢您对查看我的php脚本的建议。在AJAX成功函数中放入console.log(html)
,以了解php脚本返回的内容。它可以像需要trim()
从返回的数据中删除空白一样简单……我猜你的php失败了,你已经关闭了错误报告
$sel = $conn->prepare(...);