Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Dúvida retorno Ajax

Boa tarde,

Estou utilizando o ajax para fazer um POST em um controller do Spring.

Esse controller retorna em caso de sucesso um ResponseEntity com status Ok.

return new ResponseEntity<String>(HttpStatus.OK);

E em caso de falha falha ele retorna o mesmo objeto porém com status Bad request.

return new ResponseEntity<String>("Usuário já cadastrado", HttpStatus.BAD_REQUEST);

Esse primeiro parâmetro que é um string é passado para o body do response, tanto que ao testar acessando a aba response na aba Network do Google Chrome, ele me apresenta esta mensagem corretamente.

Gostaria de saber como consigo pegar essa String pelo ajax para apresentar em uma div alert que crio no momento que é me retornado este responseEntity.

$.ajax({

            type : 'POST',
            url : 'login/cadastrar',
            data : formdata,
            processData: false,
            contentType: false,
            beforeSend: function(){
                console.log("enviando requisição");
                $('#btn-cadastrarUsuario').prop( "disabled", false );
            },
            statusCode:{
                    200: function(){
                    //cria div com a mensagem de cadastrado com sucesso
                    },
                    400: function(){
                    //cria div com a mensagem de erro e nessa parte gostaria de apresentar a mensagem que vem do servidor "Usuário já cadastrado".


                    }
3 respostas
solução!

Boa tarde, Jonathas! Como vai?

De acordo com a documentação do Jquery onde é falado sobre o statusCode e com esse tópico do stackoverflow as funções que vc executa em cada caso de status recebem parâmetros. Em caso de sucesso recebem o mesmo valor do callback success e em caso de erro o mesmo valor do callback error.

Testa aí e me diz se funciona.

Código abaixo trouxe certinho. Muito obrigado!

400: function(retorno){
                    console.log(retorno.responseText);
}

Por nada, Jonathas!

Sempre que tiver qualquer dúvida é só procurar o pessoal aqui no fórum!

Grande abraço e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software