Success: function (data) in Ajax not working

0

Everything within the success does not execute, but the request is sent successfully yes I saw it inside the chrome network and the login is normally done, it just does not trigger the success of ajax.

    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;   
    }

See the message that appears, it is normal:

    
asked by anonymous 28.08.2018 / 12:31

3 answers

0

Try to use done , instead of success :

$.ajax({
        type: "POST",
        url: "includes/login.php",
        dataType: "json",
        data : form_data,
        headers: {'CsrfToken': $('meta[name="csrf-token"]').attr('content')},
        cache:false,
        ...
        }).done(function(){
           ...
        });
    
21.11.2018 / 18:41
0

In AJAX, success is for you to identify if the request has reached its destination, if it has hit the destination server it will return 200 ok, because the request worked.

If you help, you can use:

complete: function (jqXHR, textStatus) {
    console.log(jqXHR)
}

Then you check if the jqxHR object is coming with responseText desired.

    
28.08.2018 / 16:14
0

After success: function (date), add:

        error: function(error){
            console.log('error: ' + error) //exibe na aba console do navegador
            //ou
            alert('error: ' + error) //exibe janela de texto
        }

It can help you debug.

    
21.11.2018 / 18:32