为什么我的AJAX请求打印出整个HTML代码?

邮递员

我正在尝试发出AJAX请求,将数据发送到PHP文件,检查用户名和密码是否正确,返回答案,然后运行确定运行会话的login.php文件。

现在,我的AJAX请求除了打印我整个登录页面的HTML代码外,什么都不做。

如果有人知道为什么,请让我知道...
(我为发布我的所有login.js和checkLogin.php表示歉意,我担心如果没有两者的上下文,问题可能无法回答)

这是login.js

$(function() { //Once the document has fully loaded 

    $("#login_form").submit(function(event) {

        //INITIALIZING VARIABLES
        var userName = $("#userName").val();
        var passWord = $("#passWord").val();
        var error = 0;

        event.preventDefault(); //Prevent normal submit action
        $("#userError, #passError").text(""); //Clear the text each time the user clicks submit

        if (userName == "") { //Checking if the username is blank
            $("#userError").text("Please enter your username");
            error = 1;
        }

        if (passWord == "") { //Checking if the password is blank
            $("#passError").text("Please enter your password");
            error = 1;
        }

        //BEGIN Ajax Request
        var $form = $(this),
            term = $form.find("userName, passWord"),
            url = 'checkLogin.php';

        var posting = $.post(url, {username: userName, password: passWord});

        posting.done(function(data) {
            $("#userError").text(posting.responseText);
        });
        //END Ajax Request

        if (error == 0) {
            $("passError").text("Success");
        }
    }); //END submit button click   

    $("#login_form").submit();

});

这是checkLogin.php

<?php
    $link = mysqli_connect(DB info private); //Database Connection

    if (!$link) { 
        die('Could not connect: ' . mysqli_connect_error()); 
    }

    if ($_SERVER['REQUEST_METHOD'] === 'POST') { //Keeps the text inside the this.responseText
        //Preparing and Binding SQL statement
        $stmt = mysqli_prepare($link, "SELECT username, password FROM login WHERE username =? and password =?");
        mysqli_stmt_bind_param($stmt, "ss", $username, $password);

        //PRINTS UNIDENTIFIED INDEX
        $username = $_POST['username']; //Retrieving the username 
        $password = $_POST['password']; //Retrieving the password
        mysqli_stmt_execute($stmt); //Execute the parameterized prepared statement

        $result = mysqli_stmt_get_result($stmt);
        $row = mysqli_fetch_assoc($result);
    }
?>

来自client_login.php的表单标签

<form action="login.php" method="post" name="login_form" id="login_form">
</form>
瓦伦西亚(Fabrizio Valencia)

您没有在checkLogin.php上返回任何内容。你应该试试:

$row = mysqli_fetch_assoc($result);
if($row) {
    echo "User found!";
    exit();
}

我会建议您,以json格式返回文本。这样,您可以返回更复杂的响应以在js脚本中使用。例如,在您的checkLogin.php中:

$row = mysqli_fetch_assoc($result);
if($row) {
    echo json_encode([
        'code' => '1', // code that represent successful
        'message' => 'User found!'
    ]);
    exit();
}

在您的login.js中:

posting.done(function(data) {
    var response = JSON.parse(data);
    if(response.code == '1') {
        $("#userError").text(response.message);
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我是新来的Java和无法弄清楚,为什么我的代码不会打印出包括文本文件和信件发生

为什么我的代码无法正确打印出最高和第一的亚军?

使用文本文件时,为什么我的代码打印出空的array([])?

递归:我不明白为什么代码会打印出n个整数1,2,3,4,5

为什么我的bash脚本打印出意外的结果?

为什么powershell(ise)有时会打印出我执行的代码?

为什么我的arr.length不一致地打印出值,而总是打印出“ 0”?

为什么下面的代码不打印出质数

为什么我的代码无法打印整个列表?

为什么我的代码打印出文本而不是变量值?

为什么我的代码接受输入,但仍然打印出错误?

为什么在我的代码中通过函数打印指针时,直接打印出不同的结果?

为什么下面的代码打印出10而不是null?

为什么我的代码打印出这么大的数字?

无论我为输入放置什么,为什么我的C程序会打印出相同的输出?

为什么我的代码块实例变量没有初始化并打印出“ NSGlobalBlock”?

为什么在此代码中打印出printf()?

为什么我的气泡排序代码会打印出这些奇怪的东西?

为什么打印出char指针会产生整个数组,而不是指针的内存addr?

为什么我的代码从18而不是10打印出来,您能提供任何解决方案吗?

C:为什么这段代码会打印出来?

为什么打印出0?

为什么我的代码没有打印出正确的最小差异?

为什么我的“打印延迟信件”脚本会一次全部打印出来?

为什么我不能使用ajax将数据发布到flask服务器?什么都没有打印出来

为什么打印出多个数组?

为什么我的 C 代码在引用同一个变量时会打印出不同的值?

为什么`which`会打印出脚本?

为什么我的克隆 JS 代码会弄乱整个 HTML 表格?