php 表单数据无法通过 AJAX 按ID发送

flmtquvp  于 2022-11-28  发布在  PHP
关注(0)|答案(1)|浏览(120)

我希望下面的 AJAX 请求处理来自id为“#next”的表单的表单数据:

$(function () {
    $("#next").on('submit', function (e) {
        e.preventDefault();
        $.ajax({
            type: 'post',
            url: 'check_user.php',
            dataType: 'json',
            data: $('form').serialize(),
            success: function (response) {
                if(response['found'] === 'true') {
                    location.href = 'index.php';
                } else {
                    alert('Incorrect username or password');
                }
            },
            error: function (jqXHR, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    });
});

下面是包含表单的文件:

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="css/auth_style.css">
    <title>Authentication</title>
    <script src="https://code.jquery.com/jquery-3.6.1.js"></script>
    <script src="js/authentication_ajax.js"></script>
    <noscript>JS is disabled. Enable js to continue</noscript>
</head>
<body>
<h1 id="header">Enter your data here</h1>

<form id="#next">
    <label for="login">Login</label>
    <input type="text" id="login" name="login" placeholder="Enter your login here" required><br>
    <label for="password">Password</label>
    <input type="password" id="password" name="password" placeholder="Enter your password here" required><br>
    <input type="submit" value="Log in">
</form>

<form id="#log_out" action="log_out.php" method="post">
    <button type="submit">Log out</button>
</form>
</body>

有趣的是,当我只使用$('form').on('submit', function (e) {时,它工作得很好。

flvlnr44

flvlnr441#

你有两个错误第一个是如何使用id,在id中不要使用#而只使用名字,而进入选择器你可以使用$('#name') .第二个问题是关于选择器的serialize(),在这种情况下你可以直接使用e.target,如:
第一个

相关问题