JSFiddle - React, Tailwind, and code Playground
HTML
<input type="text" id="cep" placeholder="CEP"/>
<input type="text" id="rua"/>
<input type="text" id="cidade"/>
<input type="text" id="bairro"/>
<input type="text" id="estado"/>
JavaScript
/**
* Busca CEP by Hugo Sóstenes
*
*/
$('#cep').change(function(){
var cep = $(this).val().replace(/\D*/g,'');
if (cep.length != 8) return;
$.ajax({
url: 'http://cep.republicavirtual.com.br/web_cep.php?cep='+cep+'&formato=json',
dataType: 'json',
cache: false,
beforeSend: function(){
// implemente sua animação aqui
console.log('processando...');
}
}).done(function(data){
console.log(data);
if (data.resultado > 0){
$('#rua').val(data.logradouro);
$('#cidade').val(data.cidade);
$('#bairro').val(data.bairro);
$('#estado').val(data.uf);
}
else alert('cep não encontrado');
}).always(function(){
// esconde animação
console.log('processo concluído!');
});
});