这里是 JQuery 新手,
我正在开发一个简单的网络应用程序,它需要将注册信息发送到服务器。 出于某种原因,此代码在仅填写两个表单输入时工作正常,但在最后一个中有信息时失败,即使我没有在代码中使用它。错误回调被调用,但 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 文档 here .
关于javascript - 填充最后一个输入时 JQuery ajax 调用失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15318906/