通过php/jQuery向MySQL发送AJAX请求并获取JSON

通过php/jQuery向MySQL发送AJAX请求并获取JSON,php,jquery,mysql,json,ajax,Php,Jquery,Mysql,Json,Ajax,我试图向我的数据库发送一个AJAX请求,并获取JSON格式的信息,然后我想用这些JSON信息替换我的div。但是我的部门不会换,我也不知道为什么 这是我的代码,非常感谢您的帮助: index.php <form class="login-form" method="post" action=""> <input type="text" name="lusername" placeholder="username"/> <input type="pas

我试图向我的数据库发送一个AJAX请求,并获取JSON格式的信息,然后我想用这些JSON信息替换我的div。但是我的部门不会换,我也不知道为什么

这是我的代码,非常感谢您的帮助:

index.php

<form class="login-form" method="post" action="">
    <input type="text" name="lusername" placeholder="username"/>
    <input type="password" name="lpassword" placeholder="password"/>
    <input type="image" name="login" src="src/login.png" onClick="getLoginInfo()">
    <p class="message">Not registered? <a href="#" onClick="return false" onmousedown="changeContent('registerClick');"><span id="tab">Create an account</a></span></p>
    <div id="test">change me pls</div>
</form>
<?php
    require_once("connection.php");

    if(isset($_POST['login_x']) or isset($_POST['login_y'])) {
        $lusername = $_POST['lusername'];
        $lpassword = $_POST['lpassword'];
        $select = mysqli_query($connection, "SELECT Username, Password FROM Account WHERE Username='".$lusername."' AND Password='".$lpassword."'");

        if(mysqli_num_rows($select) == 0) {
            echo '<script>cantFindAccount()</script>';
        } else {
             $array = mysqli_fetch_row($select);
             echo json_encode($array);
        }
    }
?>

是否未注册

请给我换衣服
login.php

<form class="login-form" method="post" action="">
    <input type="text" name="lusername" placeholder="username"/>
    <input type="password" name="lpassword" placeholder="password"/>
    <input type="image" name="login" src="src/login.png" onClick="getLoginInfo()">
    <p class="message">Not registered? <a href="#" onClick="return false" onmousedown="changeContent('registerClick');"><span id="tab">Create an account</a></span></p>
    <div id="test">change me pls</div>
</form>
<?php
    require_once("connection.php");

    if(isset($_POST['login_x']) or isset($_POST['login_y'])) {
        $lusername = $_POST['lusername'];
        $lpassword = $_POST['lpassword'];
        $select = mysqli_query($connection, "SELECT Username, Password FROM Account WHERE Username='".$lusername."' AND Password='".$lpassword."'");

        if(mysqli_num_rows($select) == 0) {
            echo '<script>cantFindAccount()</script>';
        } else {
             $array = mysqli_fetch_row($select);
             echo json_encode($array);
        }
    }
?>

试试这个,您必须将一些数据发布到脚本中,以便它能够处理。此外,您必须使用
方法:“POST”
,因为您使用了
$\u POST[]

 $.ajax({
    url: 'http://localhost/login.php',
    data: $(this).serialize(),
    method: 'POST',
    dataType: 'json',
    success: function(data) {
        var user = data[0];
        var pass = data[1];
        $('#test').html("<b>id: </b>"+user+"<b> name: </b>"+pass);
    }
});
$.ajax({
网址:'http://localhost/login.php',
数据:$(this).serialize(),
方法:“POST”,
数据类型:“json”,
成功:功能(数据){
var user=数据[0];
var pass=数据[1];
$('#test').html(“id:+user+”name:+pass);
}
});

如果您
console.log(数据)
成功的话,你在调试器中看到了什么?你echo的脚本应该做什么?我认为js函数可以从这个echo中获取数据,但我做了,但调试器日志上什么也没有出现。第一次没有看到这一点,不要使用
使用
|
你也没有进入你的if,因为你是没有传递任何数据。不知何故,json函数不会被调用。我尝试了它,但不幸的是同样的问题:/Im检查元素,当您提交表单时,它是否带有参数,并且返回的响应是json格式的?