Il est évident qu'il me manque quelque chose avec jQuery, la soumission de formulaires et AJAX. Le back-end PHP et l'encodage JSON fonctionnent bien. Mais lorsque le formulaire est soumis, c'est comme si les données sont soumises deux fois et les valeurs qui entrent dans le formulaire sont null
.
Voici mon script :
$(document).ready(function () {
var validated = $("#loginForm").validate({
errorLabelContainer: "#errorMessage",
wrapper: "li",
rules: {
username: "required",
password: "required"
},
messages: {
username: "Please enter your username.",
password: "Please enter your password."
},
submitHandler: function (form) {
$.ajax({
type: 'POST',
url: $(form).attr('action'),
data: $(form).serialize(),
dataType: 'json',
success: function (res) {
if (res.err == true) {
$("#errorMessage").text(res.msg);
} else {
window.location = res.url;
}
},
error: function () {
$("#errorMessage").text("There was an error processing form.");
},
});
}
});
});