我试图让登录在响应成功时执行该功能,但由于某种原因,它没有记录响应,但在 F5 并刷新后仍然登录到网站。感谢任何帮助,因为我根本不擅长!
$(function() {
var action = "";
var form_data = "";
$("#login").click(function() {
$("#username").prop("disabled", true);
$("#password").prop("disabled", true);
action = $("#loginform").attr("action");
form_data = {
username: $("#username").val(),
password: $("#password").val(),
};
$("#login").keypress(function(e) {
if (e.which == 13) {
//Enter key pressed
$("#login").click();
}
});
$.ajax({
type: "POST",
url: "?base=misc&script=login",
data: form_data,
dataType: "json",
success: function(response) {
if (response.status) {
$("#loginform").slideUp("slow", function () {
$("#message").html(
'<script>location.reload();</script><div class="alert alert-success">Logged in. Reloading...</div>'
);
});
} else {
$("#username").prop("disabled", false);
$("#password").prop("disabled", false);
$("#message")
.hide()
.html(
'<br/><div class="alert alert-danger">Wrong username or password</div>'
)
.fadeIn("fast");
}
console.log(response);
}
});
return false;
});
});
有一些方法可以解决这个问题。但首先我认为修复你的代码也是个好主意:
$(function() {
var action = "";
var form_data = "";
$("#login").keypress(function(e) {
if (e.which == 13) {
//Enter key pressed
$("#login").click();
}
});
$("#login").click(function() {
$("#username").prop("disabled", true);
$("#password").prop("disabled", true);
action = $("#loginform").attr("action");
form_data = {
username: $("#username").val(),
password: $("#password").val(),
};
$.ajax({
type: "POST",
url: "?base=misc&script=login",
data: form_data,
dataType: "json",
success: function(response) {
// If you still want to debug the response var.
console.log(response);
if (response.status) {
$("#loginform").slideUp("slow", function () {
$("#message").hide().html('<div class="alert alert-success">Logged in. Reloading...</div>').fadeIn(“fast”);
setTimeOut(function () {
location.reload();
}, 3000);
});
} else {
$("#username").prop("disabled", false);
$("#password").prop("disabled", false);
$("#message")
.hide()
.html(
'<br/><div class="alert alert-danger">Wrong username or password</div>'
)
.fadeIn("fast");
}
}
});
return false;
});
});