我正在尝试使用 PHP 和 MySQL 创建一个简单的登录,并且使用 AJAX() jquery 函数来加载 PHP 脚本。 我想要做的就是当脚本在我的数据库中找到用户时加载一个新的网页(例如 java2s.com)。 问题是该脚本根本无法运行。 这是带有 Jquery 的 HTML:
编辑:感谢所有评论者,这是固定代码,遗憾的是它仍然不起作用。
<!DOCTYPE HTML>
<html>
<head>
<title> Login </title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script language="JavaScript">
function change()
{
document.location.href="http://www.java2s.com";
}
$(document).ready(
$("#loginForm").click(function() {
var jsonlogin=new Object();
jsonlogin.username=$('#username').val();
jsonlogin.password=$('#password').val();
var sendstr = JSON.stringify(jsonlogin);
$.ajax({
type: 'POST',
url: 'login.php',
async: false,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: sendstr,
success:function(response){
if (response['result']=="login successful")
{
change();
}
}
});
})
)
</script>
</head>
<body>
<h1> INSERT USERNAME AND PASSWORD</h1>
<input type="text" id="username" name="username"> USERNAME <br>
<input type="password" id="password" name="password"> PASSWORD <br>
<input type="submit" id="loginForm" class="button positive">
</body>
</html>
PHP 脚本非常简单:
<?php
$data = file_get_contents('php://input');
$result = json_decode($data);
$con=mysqli_connect("localhost","****","*****","*******");
$str="SELECT ID FROM users WHERE username='".$result->username."' AND password='".$result->password."';";
$exists = mysqli_query($con,$str);
if (mysqli_num_rows($exists) ==1)
{
$arr = array('result'=>"login successful");
$ris=json_encode($arr);
echo $ris;
}
else
{
$arr= array('result'=>"login error");
$ris=json_encode($arr);
echo $ris;
}
mysqli_close($con)
?>
当我加载页面并按下提交按钮时,什么也不会发生。 有人可以帮忙吗? 预先非常感谢您
最佳答案
尝试这样的事情
$("#loginForm").click(function() {
var jsonlogin=new Object();
jsonlogin.username=$('#username').val();
jsonlogin.password=$('#password').val();
$.ajax({
type: 'POST',
url: 'login.php',
async: false,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: jsonlogin,
success:function(response){
if (response['result']=="login successful")
{
change();
}
}
});
})
编辑代码
你还没有正确实现 DOM 就绪方法
$(document).ready(function(){
// code goes here
});
关于javascript - Jquery ajax() 函数不会加载 PHP 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19858556/