我正在发送一个 AJAX POST 请求来获取登录表单。如果我输入了错误的组合或输入了正确的组合,ajax 会发送该请求以及所有其他请求
登录错误:
function incorrect() {
$('#loginModal .modal-dialog').addClass('shake');
$('.error').addClass('alert alert-danger').html("Username ou password incorretos!");
$('input[type="password"]').val('');
setTimeout(function () {
$('#loginModal .modal-dialog').removeClass('shake');
}, 1000);
}
正确登录:
function correct() {
$('#loginModal .modal-dialog');
$('.error').removeClass('alert alert-danger');
$('.error').addClass('alert alert-success').html("Logado com sucesso!");
$("#reglogin").toggle();
$("#conta").toggle();
}
Ajax 调用:
function loginAjax() {
$("form").on("submit", function (x) {
x.preventDefault();
var form = $(this);
$.ajax({
type: 'POST',
url: '/Login/Login',
traditional: true,
data: form.serialize(),
success: function (data) {
if (data === false) {
incorrect();
} else if (data === true) {
correct();
}
}
});
});
}
Controller :
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["Database"].ToString());
SqlCommand cmd = new SqlCommand();
public ActionResult Login(string username, string password)
{
conn.Open();
string passstr = Encrypt(password);
SqlDataReader reader;
cmd.Connection = conn;
cmd.CommandText = string.Format("select * from Cliente where Username='{0}' and Password='{1}'", username, passstr);
reader = cmd.ExecuteReader();
if (reader.Read())
{
Session["Username"] = username;
string valueFromSession = Session["Username"].ToString();
conn.Close();
return Json(data: true);
} else
{
conn.Close();
return Json(data: false);
}
}
我每次提交表单时只想发送一个请求
谢谢!
最佳答案
我将 $("form").on("submit", function (x)
更改为 $("form").off("submit").on( “提交”,功能(x)
并且它起作用了
关于javascript - AJAX Post 请求发送重复请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56361298/