Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/383.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax登录返回错误的详细信息,即使详细信息正确_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 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

我不熟悉ajax、jQuery和JavaScript,这对我自己来说更像是一个学习练习,以提高一些技能。我想从作为独立页面的登录页面(即loginForm.php,它将数据发送到login.php,然后重定向到登录部分)转移到jQuery ajax路径

我已按如下方式构建了我的索引页:

<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(...);