2
respostas

Jquery Ajax, existe wait?

Galera eu acho que já vi alguma coisa sobre enquanto o evento de success não chega, eu posso usar tipo um wait e fazer alguma coisa com a requisição, eu já dei uma googlada aqui e pra ser bem sincero eu não lembro o comando, segue meu codigo, eu gostaria que enquanto o php estivesse processando os dados, aparece algo na tela tipo que o usuario soubesse que esta esperando receber algo...

$.ajax({
                    url: 'autentica.php',
                    type: 'POST',
                    data: dados,
                    success: function(dados) {
                        if (dados == '1') {
                            console.log('cheguei');
                        } else {
                            erro_autorizacao();
                        }
                    },error: function(){
                        erro_aplicação();
                    },wait: function(){
                        console.log('aguardando');
                        $("#aguarde").toggle("slow");
                    }
                });
2 respostas

Para o que eu precisava em beforeSend acabou resolvendo, mas não sei se é o melhor jeito de se fazer isso...

$.ajax({
                    url: 'autentica.php',
                    type: 'POST',
                    data: dados,
                    beforeSend: function(){

                        $("#aguarde").toggle("slow");
                    },
                    success: function(dados) {

                        if (dados == '1') {
                            console.log('cheguei');
                        } else {
                            erro_autorizacao();
                        }
                    },
                    error: function(){
                        erro_aplicação();
                    }
                });
            }

Rafael, o beforeSend foi uma boa saida, pois você está utilizando as funcionalidades do ajax do jQuery. Quanto mais coisas você conseguir usar de uma ferramenta sem ficar inventando em cima dela é melhor :)

Uma sugestão minha seria usar o método complete: também para executar algo sempre que ocorrer um erro ou sucesso.

E sempre que tiver uma duvida da uma olhada na documentação da ferramenta: http://api.jquery.com/jquery.ajax/