0
Everything inside Success it does not execute, but the request is successfully sent because I saw inside the Chrome network and the login is done normally, it just does not trigger the ajax Success.
function sendForm(token){
var form_data = {
usuario: $('#username').val(),
senha: $('#password').val(),
captcha: token,
lembrar: $('#remember').val(),
};
var msg = document.getElementById("msg");
var msgu = document.getElementById("msgu");
var msgp = document.getElementById("msgp");
$.ajax({
type: "POST",
url: "includes/login.php",
dataType: "json",
data : form_data,
headers: {'CsrfToken': $('meta[name="csrf-token"]').attr('content')},
cache:false,
success: function(data){
if(data.validation_result == "success" )
{
msg.hidden = false;
msg.innerHTML = "Log-in realizado com sucesso!</br><font color='black'>Redirecionando em <div id='counter' style='display: inline-block;'>05</div> segundos...</font>";
msg.style.color = "green";
display();
}
else if(data.token == "incorrect" )
{
msg.hidden = false;
msg.innerHTML = "Token Inválido!";
msg.style.color = "red";
grecaptcha.reset();
}
else if(data.token == "invalid" )
{
msg.hidden = false;
msg.innerHTML = "Sistema de segurança falhou!";
msg.style.color = "red";
grecaptcha.reset();
}
else if(data.recaptcha == "incomplete" )
{
msg.hidden = false;
msg.innerHTML = "O captcha não foi completado!";
msg.style.color = "grey";
grecaptcha.reset();
}
else if(data.access == "blocked" )
{
msg.hidden = false;
msg.innerHTML = "Seu acesso está bloqueado temporariamente.";
msg.style.color = "grey";
grecaptcha.reset();
}
else if(data.validation_result == "disabled" )
{
msg.hidden = false;
msg.innerHTML = "Essa conta foi desativada pelo administrador.";
msg.style.color = "grey";
grecaptcha.reset();
}
else if( data.validation_result == "ipblock" ){
msg.hidden = false;
msg.innerHTML = "<b>Seu ip está bloqueado temporariamente.</b></br> Devido há muitas tentativas falhas de login seu acesso foi bloqueado temporariamente.</br><font color='black'><small>Tente novamente mais tarde!</small></font>";
msg.style.color = "red";
grecaptcha.reset();
}
else if( data.registration == "failed" ){
msg.hidden = false;
msg.innerHTML = "Usuário e/ou Senha incorretos!";
msg.style.color = "red";
grecaptcha.reset();
}
else if( data.form == "incomplete" ){
msg.hidden = false;
msg.innerHTML = "O usuário e/ou senha não foram preenchidos.";
msg.style.color = "red";
grecaptcha.reset();
}
else{
alert("Problemas no servidor. Tente novamente mais tarde!");
grecaptcha.reset();
}
}
});
return false;
}
Look at the message that appears, it’s normal:
The answer code was 200?
– Woss
Do you understand that making all these codes about blocking in "success" does not make sense? The scope will only run if the return is successful (200). If it is unsuccessful, it will not run any code like this at the top, at most it would run the first block. Try using . then() after ajax.
– Máttheus Spoo
Status Code: 200 OK
– Ewellin Lopes
It was a success, yes.
– Ewellin Lopes
Even with success Success does not work.
– Ewellin Lopes
Only works with error, I just saw here, but the status is sucess of the request. How is this possible?
– Ewellin Lopes
Add error after the
cache:false,
, thus,cache:false,error:function (jqXHR, textStatus, errorThrown) { console.log("Erro no ajax:", textStatus, errorThrown); },
, then copy the result here in the comments.– Guilherme Nascimento