javascript - Jquery ajax() 函数不会加载 PHP 脚本

标签 javascript php jquery mysql ajax

我正在尝试使用 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/

相关文章:

javascript - Outlook Web 插件 : how to suppress the default notification message comes up when clicking on the button

javascript - 从javascript在html页面中打印或回显消息

php: 从 html 中解析字符串

php - 访问部分子查询以在 PHP 服务器中构建 HTML

php - 运行 composer update 后出现错误 Peer fingerprint did not match

javascript - 新手 html/Javascript 问题。 react 迟钝

javascript - 如何使用 JavaScript 将 SVG 图像转换为 SVG 代码以获得多边形或路径?

javascript - Jquery 自动完成 : How to prevent duplicate on selection

jquery - 查找 id 不包含某些字符的所有文本框

javascript - 将变量发送到另一个函数