AJAX没有将数据传递给PHP脚本?

时间:2014-07-26 05:18:25

标签: javascript php ajax

我有这段代码:

<form id="login" name="login" class="login-form" action="./" method="post">
      <h2>Log In</h2>
      <div class="error" style="display:none"></div>
      <input type="text" id="login-username" placeholder="Full Name" />
      <input type="password" id="login-password" placeholder="Password" />
      <button onclick="submitLogin();">Log In</button>
    </form>

    <script type="text/javascript">
$(".login").submit(function(ev){
  ev.preventDefault();
});

function submitLogin() {
    username = $(".login-username").val();
    password = $(".login-password").val();
    $.ajax({
        type: "POST",
        url: "login.php",
        datatype: "string",
        data: {'username' : username, 'password' : password},

.....

这是我的PHP脚本(login.php):

<?php
session_start();
require_once 'config.php';

$uName = $_POST['username'];
$pWord = md5($_POST['password']);

$query = "SELECT id, username, password, email FROM users WHERE username = '$uName' AND password = '$pWord'";
$result = mysql_query($query) or die(mysql_error());
$numrows = mysql_num_rows($result);
$row = mysql_fetch_assoc($result);


if($numrows == 1 ) {
    echo 'true';
    $_SESSION['uName'] = $row['username'];
}
else {
    echo 'false';
    }
?>

当我尝试回显$uName$pWord为空时。不知道最近发生了什么。帮助会很棒。当我将正确的用户名和密码编辑到$uName$pWord进入PHP ...说:$uName = kriiv;并且这是一个正确的用户名时,它回复正常。所以它看起来似乎没有通过AJAX调用传递数据。

2 个答案:

答案 0 :(得分:1)

复制它们会起作用,因为login-username和login-password是id不是class。

username = $("#login-username").val();
password = $("#login-password").val();

答案 1 :(得分:0)

更改此

   username = $(".login-username").val();
   password = $(".login-password").val();

   username = $("#login-username").val();
   password = $("#login-password").val();

.用于获取具有类#的元素用于拥有id,您的元素具有id而非