当最后一个输入被填充时,JQuery ajax调用失败

JQuery ajax call fails when last input is filled

本文关键字:JQuery ajax 调用 失败 最后一个 输入 填充      更新时间:2023-09-26

JQuery新手,

我在一个简单的web应用程序需要发送注册信息到服务器。由于某种原因,当只填写了两个表单输入时,这段代码工作得很好,但是当最后一个输入中有信息时,即使我没有在代码中使用它,也会失败。错误回调被调用,但errorThrown为空。我的服务器没有接收到数据。

这有什么明显的问题吗?

注意:无论表单中有多少个输入,当最后一个输入被填满时,调用都会失败。

JQuery:

$(document).ready(function() {
     $("#registrationForm button.register").on("click", function(event) {
        var params = {
            email: $("#registrationForm input.email").val(),
            password: $("#registrationForm input.password").val()
        };
        $.ajax({
        url: "/register",
        type: "POST",
        contentType: "application/json",
        data: JSON.stringify(params),
        dataType: "json",
        success: function(data, textStatus, jqXHR) {
            console.log(data);
            if(data.user_exists==true)
            {
                alert("Stop trying to register twice!");
            }else{
                window.location.href = "/registered";
            }
        },
        error: function(jqXHR, textStatus, errorThrown) {
            console.error("Error:", errorThrown);
        }
    });
  });
});

和HTML:

<form id="registrationForm">
    <label>Email:</label>
    <input name="user[email]" type="text" required="required" class="email">
    <br>
    <label>Password:</label>
    <input name="user[password]" type="password" required="required" class="password">
    <br>
    <label>Verify Password:</label>
    <input name="nothing" type="text" required="required">
    <br>
    <button onclick="" class="btn btn-default register">Register</button>
</form>

除非您另有指定,否则单击表单中的按钮将提交表单。在click函数中,设置event.preventDefault()以阻止此默认操作的发生。要了解更多细节,请参阅这里的jQuery文档