ここにJQuerynoob、
サーバーに登録情報を送信する必要がある単純なWebアプリに取り組んでいます。何らかの理由で、このコードは、フォーム入力の2つだけが入力されている場合は正常に機能しますが、最後の1つに情報がある場合は、コードで使用していなくても失敗します。エラーコールバックが呼び出されますが、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>