我有这个代码:
<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 调用传递。
最佳答案
复制这些它将起作用,因为登录用户名和登录密码是 id 而不是类。
username = $("#login-username").val();
password = $("#login-password").val();
关于javascript - AJAX 未将数据传递给 PHP 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24967815/