1
resposta

$.ajax Requested JSON parse failed

Boa noite gente, eu tenho o um código para efetuar o login do usuário no meu app. Eu faço uam requisiçã via ajax para validar os dados. Funciona normalmente ate ele acertar o login, tipo, se ele errar, a url retorna o json falando que não conseguiu efetuar o login, porem, quando retorna, não sei porque, se fizer outra requisição via ajax ele me retorna o erro "parsererror". Segue código.

$(".form_medicos").submit(function(){
    localStorage.clear();
    var username = $("#email-medico").val();
    var password = $.md5($('#password-medico').val());
    try {
        $.ajax({
            url: 'http://appdieta.felipemoura.eti.br/homolog/manager/login/auth',
            type: 'post',
            dataType: 'json',
            data: {
                username: username,
                password: password,
                rememberme: false,
                app: true
            },
            success: function(resposta){
                if(resposta.sucesso)
                {
                    try {
                        Materialize.toast('ok', 2000);
                    }
                    catch(err) {
                        mesagem = 'Error: '+err.message;
                        Materialize.toast(mesagem, 2000);
                    }
                }else{
                    Materialize.toast('Usuário ou senha inválidos', 2000);
                }
            },
            error: function (jqXHR, exception) {
                var msg = '';
                if (jqXHR.status === 0) {
                    msg = 'Not connect.\n Verify Network.';
                } else if (jqXHR.status == 404) {
                    msg = 'Requested page not found. [404]';
                } else if (jqXHR.status == 500) {
                    msg = 'Internal Server Error [500].';
                } else if (exception === 'parsererror') {
                    msg = 'Requested JSON parse failed.';
                } else if (exception === 'timeout') {
                    msg = 'Time out error.';
                } else if (exception === 'abort') {
                    msg = 'Ajax request aborted.';
                } else {
                    msg = 'Uncaught Error.\n' + jqXHR.responseText;
                }
                Materialize.toast(msg, 2000, 'red-text');
            }
        });
    }
    catch(err) {
        mesagem = 'Error: '+err.message;
        Materialize.toast(mesagem, 2000);
    }
});
1 resposta

Oi Leandro, só vendo o código aí fica bem complicado de sacar... Minha sugestão é que você coloque uns console.log na função. Na segunda requisição todos os parâmetros estão sendo passados? O servidor lança algum erro?