Preenchimento automático do endereço a partir do CEP

Olá pessoal. Nesse post vou mostrar para vocês como criar uma funcionalidade para um formulário de cadastro onde o usuário informa o CEP do seu endereço e os campos rua, bairro, cidade e estado são preenchidos automaticamente.

Essa técnica é bastante utilizada hoje em dia em diversos sites da web e traz ótimos resultados uma vez que você garante a integridade e padronização das informações que estão sendo salvas, além de facilitar bastante a vida do usuário.Para auxiliar esse processo, o site http://cep.republicavirtual.com.br disponibiliza uma base de dados(Clique aqui para baixar) com todos os CEPs do Brasil para você fazer o download e acoplar ao seu projeto e também um webservice caso deseje fazer uma requisição.trx training O webservice está configurado para responder em XML, QueryString e JavaScript.

No nosso exemplo, utilizaremos a segunda opção.trx home, Criaremos nosso formulário e faremos uma requisição AJAX com o webservice da República Virtual para solicitar os dados no formato XML. Para facilitar a utilização de AJAX, usarei o JQuery. (Leia um artigo onde explico como trabalhar com AJAX + JQuery).

Antes de começarmos a implementação, organize os seus arquivos da seguinte maneira:

  • index.php : página principal (onde vai o formulário)
  • jquery.js: plugin javascript para auxiliar
  • cep.js : arquivo javascript onde será configurado a requisição AJAX
  • consultar_cep.php :Arquivo que fará a requisição com o WebService

Primeiramente, vamos implementar o arquivo index.php com o formulário de cadastro:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<!DOCTYPE html>
<html>
    <head>
        <title>Consulta de CEP - por rafaelWendel.com</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <script type='text/javascript' src='http://files.rafaelwendel.com/jquery.js'></script>
        <script type='text/javascript' src='cep.js'></script>
 
    </head>
    <body>
        <h1>Preenchimento automático com consulta de CEP - por <a href="http://www.rafaelwendel.com" title="Visite o blog www.rafaelwendel.com">rafaelWendel.com</a></h1>
        <form id="form1" class="form1" method="post">
            <label>CEP (Somente números):</label><br />
            <input type="text" name="cep" id="cep" maxlength="8" />
 
            <br /><br />
 
            <label>Rua:</label><br />
            <input type="text" name="rua" id="rua" size="45" />
 
            <br /><br />
 
            <label>Número:</label><br />
            <input type="text" name="numero" id="numero" size="5" />
 
            <br /><br />
 
            <label>Bairro:</label><br />
            <input type="text" name="bairro" id="bairro" size="25" />
 
            <br /><br />
 
            <label>Cidade:</label><br />
            <input type="text" name="cidade" id="cidade" size="25" />
 
            <br /><br />
 
            <label>Estado:</label><br />
            <input type="text" name="estado" id="estado" size="2" />
 
            <br /><br />
 
            <input type="submit" value="Salvar Dados" />
 
        </form>
    </body>
</html>

Note que é importante darmos nome e ids para todos os campos de texto do formulário pois isso facilita a manipulação de seus valores por meio do js/jquery.

Agora vamos configurar a requisição AJAX dentro do arquivo cep.js :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$(document).ready( function() {
   /* Executa a requisição quando o campo CEP perder o foco */
   $('#cep').blur(function(){
           /* Configura a requisição AJAX */
           $.ajax({
                url : 'consultar_cep.php', /* URL que será chamada */ 
                type : 'POST', /* Tipo da requisição */ 
                data: 'cep=' + $('#cep').val(), /* dado que será enviado via POST */
                dataType: 'json', /* Tipo de transmissão */
                success: function(data){
                    if(data.sucesso == 1){
                        $('#rua').val(data.rua);
                        $('#bairro').val(data.bairro);
                        $('#cidade').val(data.cidade);
                        $('#estado').val(data.estado);
 
                        $('#numero').focus();
                    }
                }
           });   
   return false;    
   })
});

A função está configurada para ser executada quando o foco sair do campo CEP. A requisição é feita via método POST com o arquivo consultar_cep.php e o tipo de transmissão que vamos utilizar é o JSON. Em caso de sucesso, os dados do endereço serão inseridos em seus campos correspondentes no formulário e o foco irá para o campoNúmero.

Bom, agora falta apenas o arquivo consultar_cep.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
$cep = $_POST['cep'];
 
$reg = simplexml_load_file("http://cep.republicavirtual.com.br/web_cep.php?formato=xml&cep=" . $cep);
 
$dados['sucesso'] = (string) $reg->resultado;
$dados['rua']     = (string) $reg->tipo_logradouro . ' ' . $reg->logradouro;
$dados['bairro']  = (string) $reg->bairro;
$dados['cidade']  = (string) $reg->cidade;
$dados['estado']  = (string) $reg->uf;
 
echo json_encode($dados);
 
?>

Para buscar as informações utilizo a função simplexml_load_file (Leia um artigo que escrevi sobre a leitura de arquivos XML).

Note que para executarmos uma requisição no WebService, devemos especificar na URL o formato que desejamos (no nosso caso, XML) e o cep a ser consultado (Linha 5).

Feito isso basta jogar as informações dentro de um array (Importante a conversão para string porque a função simplexml_load_file retorna Objetos XML) e depois codificar para o formato JSON.

Pronto! Agora é só testar.

Abs!

É formado em Sistemas de Informação, pós-graduado em Sistemas de Banco de Dados e mestre em Educação com foco em Tecnologias Sociocomunitárias. Trabalha como professor de ensino técnico e tecnológico no Instituto Federal de Educação, Ciência e Tecnologia de São Paulo ministrando disciplinas nas áreas de programação, banco de dados, desenvolvimento de projetos e engenharia de software.

Posts relacionados

Comentários

  1. Show de Bola Rafael, muito bom esse tutorial.
    Já vi alguns semelhantes, mas o seu está bem mais atualizado.

    Só queria saber contigo, se é garantido o funcionamento desse webservice, por exemplo, se existem garantias de que em um futuro próximo ele não irá sair do ár?

  2. Amigo otimo post, porem te um erro, em cidades pequenas como Guarai-TO o cep e unico 77700000, no seu nao aparece a cidade e o UF como no site dos correios. se conseguir corrigir esse detalhe ficaria perfeito seu sistema

    1. Olá Greenomac,

      Para fazer o que você está desejando, basta alterar a linha 11 do arquivo cep.js
      De:

      11
      
      if(data.sucesso == 1){

      Para:

      11
      
      if(data.sucesso > 0){

      Aí funcionará belezinha.

      Abs!

  3. Amigo fiz de outra maneira, criei minha propria base de dados, fiz o arquivo que buscar o cep, fiz tudo independente, me add no msn pra eu te passar o projeto dae vc publica, sei que ira ajudar muita gente, agora to vendo se encontro um base de dados atualizada, encontrei um problema com o cep 77826-550. ele foi alterando a uns dois anos pelos correios dae nao aparece na base de dados do site que passou, mais parabens pela materia se nao fosse seu site nao teria buscado esse sistema. abs

  4. Caros,

    eu gostaria de ajuda para criar um motor de busca igual o site da oi
    que vc entra digita a cidade e ele completa de tando a cidade

    Obrigado

  5. Rafael, chara

    obrigado pela ajuda

    e pq sou iniciante e nao sei fazer mto bem
    mas teria como pegar somente os do site da oi
    e mudar para os dados que eu kero

  6. Olá Rafael,
    estou fazendo um trabalho para executar uma busca de cep na base de dados e trazer automaticamente,estado ,cidade,bairro e logradouro,porém o trabalho tem que ser em JAVA
    e o professor disse que posso usar o comando SPLIT para buscar e quebrar as linhas trazendo a resposta,você tem algum conhecimento em JAVA para me ajudar

    de uma olhada de como o programa tem que ser achei essa foto e é assim que preciso fazer em Java, vc poderia ajudar?

    http://imageshack.us/photo/my-images/198/cep.png/

    vlws,abraço

  7. Rafael, primeiramente, parabéns pela disponibilidade em ajudar o pessoal!

    Estou com uma dúvida em como utilizar a minha própria Base de Dados para fazer este tutorial que você colocou aqui.
    Por exemplo: Eu tenho uma lista de 1000 clientes [em BD MySQL] e gostaria que, no formulário onde preencho o CÓDIGO do cliente, ele já me retorne o NOME do cliente no campo ao lado.
    O Form está em TML com JQuery, adicionando campos dinâmicos.

    Grande abraço!

  8. Bom dia Rafael,

    Gostaria de utilizar esse sistema no meu site, porém uma dúvida, existe limite de trafego? Qts acessos podem ter ao webservice simultaneos?

    Obrigado
    abs

  9. Bom dia vei!
    Script EXCELENTE!

    Só uma dúvida… enquanto eu rodo ele em localhost o script funciona… agora quando eu faço o UP pro meu servidor, ele não funciona mais.

    Saberia me dizer por que?
    Servidor: UolHost

  10. Se eu utilizar a mesma estrutura, passando um nome ou id de produto por parâmetro, por exemplo, para consultar no banco de dados, funcionaria?

    Ao invés de usar:
    $reg = simplexml_load_file(“http://cep.republicavirtual.com.br/web_cep.php?formato=xml&cep=” . $cep);

    Eu estava querendo receber uma consulta do banco de dados para retornar os dados de um cliente, digitando o id dele, através de uma função:

    //variável recebendo os dados do cliente
    $reg = self::retornacliente($id);

    Onde

    //função para retornar o cliente
    public static function retornacliente ($id) {
    $sql = “SELECT id, endereco, bairro, municipio, uf FROM `clientes `
    WHERE `id` = ‘{$id}’ “;
    $stmt = $db->query($sql);
    return $reg = $stmt->fetchAll();
    }

    E para o retorno:

    //recebimento dos dados do banco de dados
    $dados[‘rua’] = (string) $reg[0][‘endereco’];
    $dados[‘bairro’] = (string) $reg[0][‘bairro’];
    $dados[‘cidade’] = (string) $reg[0][‘municipio’];
    $dados[‘estado’] = (string) $reg[0][‘uf’];
    //retorno para o formulário
    echo json_encode($dados);

    Estou utilizando isso em um controlador, através do Zend, que passaria as informações para view.

    Tentei desta forma, mas não consegui. Já com a do cep, utilizando simplexml_load_file funcionou. Poderia me auxiliar nisso?

  11. Estou com uma duvida, eu posso mudar o nome da input “Cep” e demais….?

    name=”outracoisa” id=”outracoisa” se sim, o que eu devo mudar no cep.js e no php?

    estou tentando aqui e não estou conseguindo..

    1. Olá Junior,

      Pode sim, e depois de alterar basta ir na linha 8 do arquivo cep.js e fazer a alteração:

      data: 'cep=' + $('#outracoisa').val(), /* dado que será enviado via POST */

      Abs!

  12. Bom dia

    Estou fazendo um trabalho de faculdade sobre esse comando.
    não estou conseguindo fazer.
    Você teria esse comando completo.
    (COMANDO PARA ACHAR ENDEREÇO PELO CEP)

    Att,

    Miguel

  13. Ei por favor me ajuda na ultima parte quando você falou : “Note que para executarmos uma requisição no WebService, devemos especificar na URL o formato que desejamos (no nosso caso, XML) e o cep a ser consultado (Linha 5).

    Feito isso basta jogar as informações dentro de um array (Importante a conversão para string porque a função simplexml_load_file retorna Objetos XML) e depois codificar para o formato JSON.

    Pronto! Agora é só testar.

    Abs!” eu vi a paginado xml mais não entendi o que tem que fazer então por favor ensina mais detalhado que nem você fez nas outras coisa , porque ai você só resumiu então veio faz o “baguio” explicado, passo a passo , por favor =D

  14. Bem que eu fiz com o meu endereço e na rua ficou : rua Sete , mais se chamava rua sete ja faz mais de 10 anos agora é : Rua regina maria de cavarlho

  15. Ei conseguir achar um erro: tipo quando você acha um bairro com acento na hora que você joga para dar resultado( clikando no enviar) as letras que estão acentuada fica bugada

  16. Você está certo, era erro meu , eu fui imigra o outro form e esqueci de fazer isso , desculpa ai, mas esse conteúdo e de boa qualidade

  17. Aqui funcionou, insiro o cep, logo aparece rua, bairro, cidade, estado, só que quando clico no botão “cadastrar” do meu form ele não grava no banco o cep e o número, alguém pode me ajudar?

  18. http://correiosapi.apphb.com não está mais funcionando.
    Qual seria uma alternativa para meu código abaixo.

    $busca_cep = ”
    jQuery(document).ready(function($){

    $(‘#fill_address’).click(function(){
    $(‘#postaload’).html(‘Carregando…’);
    var _cep = $(‘#jform_postcode’).val();

    $.ajax({
    url: ‘http://correiosapi.apphb.com/cep/’ + _cep.replace(‘-‘, ”),
    dataType: ‘jsonp’,
    crossDomain: true,
    contentType: ‘application/json’,
    statusCode: {
    200: function(data) {
    $(‘#postaload’).html(‘Preenchendo…’);
    $(‘#jform_country option:contains(\”‘ + data.cidade + ‘\”)’).attr(‘selected’, ‘selected’).trigger(‘liszt:updated’);
    $(‘#jform_street_num’).val(data.tipoDeLogradouro + ‘ ‘ + data.logradouro);
    $(‘#jform_city’).val(data.bairro);
    $(‘#postaload’).empty();
    } // Ok
    //400: function(msg) {alert(msg);}, // Bad Request
    //404: function(msg) {alert(‘CEP não encontrado!!’);} // Not Found
    }
    });
    });

    $(‘#jform_vtour’).mask(‘(99)99999-9999’);
    $(‘#jform_postcode’).mask(‘99999-999’);

    });”;

  19. Oi Rafael, obrigado por compartilhar o código! Cara, funcionou tudo certo aqui, mas tentei baixa o jquery e rodar local, mas não funciona… Fico com um pouco de receio de depender de um arquivo que não está nos meus diretórios… porque será que não funciona?
    Abs

  20. Olá Rafael, muito bom os códigos, da para ir muito mais além!
    Eu reparei que o arquivo PHP que faz a consulta do CEP precisa estar no mesmo diretório do arquivo php que contem o formulário, caso contrario o “echo json_encode($dados);” não sabe pra onde enviar.
    No meu caso, tenho mais de 1 formulário em pastas diferentes e não gostaria de ter que ficar colocando esse arquivo em cada pasta, até mesmo por questão de editar, teria que fazer 1 por 1, tem como mudar isso? Deixar o arquivo em 1 só local e direcionar pra qual página ele vai responder?
    Obrigado!

  21. Olá, eu to com um problema de utilizar esse script dentro do include, eu já utilizei ele em alguns outros sites, mais é a primeira vez que tenho que utiliza-lo dentro de uma include e ele não esta funcionando, você saberia dizer o porque? desde já obrigado!

  22. olá, tentei fezer ele via servidor local, não sei se funciona, usei o Wampsever,
    tento colocar da forma como explicou, mas não aparece nada.
    teria como me ajudar?
    fico no aguardo obrigado.

    Alan

    1. Olá Alan,

      Como você fez localhost, você precisa habilitar a extensão “php_xmlrpc” para que o script funcione. Verifique se essa extensão está habilitada abrindo o arquivo “php.ini” e procurando pelo termo “php_xmlrpc” verifique se ele não está comentado (com um ponto-e-virgula; no inicio da linha). Se estiver, retire o “;”, salve o arquivo e reinicie o servidor.

      Abs!

  23. Excelente post Rafael! Vou testá-lo assim que possível. Estou usando de um outro jeito que peguei em um outro site (http://www.williamluis.com.br/busca-de-endereco-completo-por-cep-com-jquery-e-jsonp/) porém não funciona em páginas que usam o https. Estou desenvolvendo um e-commerce em Magento e o Magento força o uso do https em certas páginas, como a de login, de cadastro, área do usuário e finalização da compra, por exemplo. O que ocorre é que quando o usuário está em uma página que está usando https, ele bloqueia qualquer tentativa de acesso http padrão, por considerar que não é um conteúdo “seguro”.

    Você tem alguma idéia para solucionar esse problema?

    Valeu, abs!

  24. Olá Rafael, gostei muito da sua iniciativa e interesse de nós ajudar, estive procurando por um tópico deste a muito tempo e enfim achei…

    Olhá mas deu problema aqui cmg não sei se é porque faz tempo que você já fez isso e as coisas atualizaram ou porque estou fazendo localhost mas eu fiz exatamente como vc ensina copiando e colando e não acontece nada…

    Pode me ajudar, se poder me mandar a resposta por email agradeço…
    contato@worldtoth.com.br

    1. Olá Gabriel,

      Como você fez localhost, você precisa habilitar a extensão “php_xmlrpc” para que o script funcione. Verifique se essa extensão está habilitada abrindo o arquivo “php.ini” e procurando pelo termo “php_xmlrpc” verifique se ele não está comentado (com um ponto-e-virgula; no inicio da linha). Se estiver, retire o “;”, salve o arquivo e reinicie o servidor.

      Abs!

  25. E ai galera, estou compartilhando com vcs o banco de dados de cep dos correios com todos os ceps do Brasil, atualizado até 17/01/2014, o banco de dados esta no formato sql para mysql e também nos formatos sqlite, firebird e access.

    Com esse banco vc consegue consultar o endereço de qualquer cep informado, ou pesquisar o endereço e descobrir o cep, excelente para integrar a sua aplicação, seja on-line ou off-line.

    Num total 909.585 CEPs de todo o brasil.

    Essa base de dados foi extraída do “GPBe – Guia Postal Brasileiro Eletrônico” que é vendido pelo correio por R$ 50,00, porem o banco de dados vem encriptado, para ter acesso ao banco decriptado, o correio vende o “e-DNE Máster” por míseros R$ 2.500,00, um absurdo, o banco de dados de cep do brasil deveria ser gratuito.

    Por isso, decriptei o banco e estou compartilhando.

    MySql
    http://www.4shared.com/archive/LAOSog8Gba/consultacepcorreiosgpbe1701201.html
    https://mega.co.nz/#!9As31TKS!uwNKOqjsrpdrhwkIgdNaSnbbznrTp92C982xluG9L0k

    Access
    http://www.4shared.com/archive/dOQo_LeDce/consultacepcorreiosgpbe1701201.html
    https://mega.co.nz/#!9YkSyboK!JqobQUOnMGrO4PhJdWxJms55ueWfK9iOjlfr745sqvI

    Firebird
    http://www.4shared.com/archive/gm7IKVz2ba/consultacepcorreiosgpbe1701201.html
    https://mega.co.nz/#!ld1FjQIZ!VzYLVBiv9vEcPYd0SI–V_940DuPb-vKK5fzt-tcu3k

    Sqlite
    http://www.4shared.com/archive/iGkVGUCLce/consultacepcorreiosgpbe1701201.html
    https://mega.co.nz/#!VQcA0Y6J!Ic2Cc9IeSyXyTzVGqSU8cQUN_zlHH_4aPrsrgZuUr4c

    Guia Postal Brasileiro eletronico – GPBe – 17-01-2014
    http://www.4shared.com/archive/8rPtXxM5ba/Guia_Postal_Brasileiro_eletron.html
    https://mega.co.nz/#!8VVjnQAB!b5I7H0S0DpaoCu9uyL54BMclbaQ9mEIrKheLrBnq8Tk

    Abraços.

  26. Rafael,

    Parabéns pela publicação muito didática e de excelente conteúdo.
    Fiz download do arquivo cep.sql e parece que tem um limite de 1000 registros por estado.
    Será que você tem para disponibilizar no link o arquivo completo?

    Obrigado,
    Ruben

    1. Olá Ruben,

      Na verdade eu nunca baixei o banco de dados pois quando implemento essa funcionalidade faço a busca direto no servidor (via webservice). Mas estranho que dê esse problema aí que você relatou. Mas se não me engano, nenhum estado brasileiro possui mais do que 1000 cidades.

      Abs!

  27. Boa noite Rafael. Estou com um problema que é o seguinte:
    Eu tentei alterar o arquivo consulta_cep.php

    para que ao invés dele fazer uma consulta webservice, ele fazer uma consulta no meu servidor localhost, não para cep mas para qualquer outra coisa que eu queria e ele auto preencher….
    só que cara, eu sou um novato na área de programação web, já pesquisei em diversos lugares e nada de encontrar o que eu preciso… o mais próximo que consegui encontrar foi esse seu tuto, mas estou com problema em fazer essa adaptação….

    poderia me ajudar com isso ??
    pode ser com algum tutorial que vc conheça, ou até mesmo com uma estrutura…

    Desde já grato!!

  28. Excelente post Rafael! Vou testá-lo assim que possível. Estou usando de um outro jeito que peguei em um outro site (http://www.williamluis.com.br/busca-de-endereco-completo-por-cep-com-jquery-e-jsonp/) porém não funciona em páginas que usam o https. Estou desenvolvendo um e-commerce em Magento e o Magento força o uso do https em certas páginas, como a de login, de cadastro, área do usuário e finalização da compra, por exemplo. O que ocorre é que quando o usuário está em uma página que está usando https, ele bloqueia qualquer tentativa de acesso http padrão, por considerar que não é um conteúdo “seguro”.

    Você tem alguma idéia para solucionar esse problema?

    Valeu, abs!

  29. Gostaria de um sistema que meu site procure no correios EX:

    static public function cep($endereco){
    include(‘phpQuery-onefile.php’);
    $html = self::simpleCurl(‘http://m.correios.com.br/movel/buscaCepConfirma.do’,array(
    ‘cepEntrada’=>$endereco,
    ‘tipoCep’=>”,
    ‘cepTemp’=>”,
    ‘metodo’=>’buscarCep’,
    ));…………………………………………………………..

    1. Olá Wanderlei,

      Se você estiver conectado à internet para que sua aplicação consiga “conversar” com a API sim. Não me lembro se é necessário que o módulo CURL tem que estar habilitado. Mas em resumo é pra funcionar sim.

      Abs!

  30. Bom dia Rafael,

    sem sombra de dúvidas melhor explicação que encontrei na internet. E implementação completa.

    Estou começando a mexer com php, javascript/jquery… E estou tentnado fazer com que o usuario digite o cep e os dados sejam mostrados no onclick ao inves do onblur, mas não está funcionando. Teria como você dar alguma dica de como implentar?

    Obrigado!!

  31. Rafael muito bom.. fiz a integracao com o republica virtual usando uma aplicacao .dotnet.

    Mas utlimamente nao tem funcionado.. verfiquei direto no site e me aparece a mensagem 403-Forbidden.

    Este site nao esta mais em funcionamento..

    Att..

    Leo de Oliveira

    1. Gabriel,

      Já usei esse script em sites com URL amigáveis e funcionou sem problemas. Tome cuidado na chamada do AJAX para não se confundir a URL com uma estrutura de diretórios. Recomendo que utilize o caminho da URL absoluta (com http e tudo) ao invés de relativa.

      Abs!

  32. Bom dia rafael
    Muito boa a explicação nota 10 só que então estou com o mesmo problema de não preencher no servidor normal , no meu servidor local usando o MAMP ele funciona normalmente sem erro nenhum agora quando eu subo para o servidor normal uso a hostdime de hospedagem ele já nao funciona teria como voce ajudar.

  33. Olá Gustavo.
    Gostaria de lhe dar os parabéns pelo o que foi apresentado neste post. Muito fácil e prático.
    Só uma observação. Alguns comentários acima o Grennomac disse que para cidades pequenas as informações não eram carregadas. Logo após você postou a correção na linha 11, mas fazendo uns teste aqui o problema inverteu, sendo que agora os ceps de cidades grande, ou seja, os mais conhecidos não carregava. Isso acontece devido as informações no site http://cep.republicavirtual.com.br/ não ser completa referente alguns cep. Com isso o valor de retorno da variável data.sucesso na linha 11 muda, logo, o if pode não atender a solução que poderá estar correta não mostrando a informação. Acredito então que, na linha 11 o código deva ser assim:

    if(data.sucesso >= 1) //executa comando.

    Dessa forma atenderá todas as opções. Posso estar errado, mas não custa nada compartilhar e discutir informações. E também não tirá seu mérito. Mais uma vez parabéns. Fico no aguardo da sua opinião sobre esta minha mensagem.

  34. No meu código, os dados não são apresentados nos campos correspondentes. Acho que seria pq o cep.js não lê a url do arquivo que é absoluta por estar num seridor. O console do Chrome alega nenhum erro. Estou tentando fazer com que leia este arquivo externo, pq a chave de criptografia permite somente com https, e o arquivo requisitar ao servidor. A url que estou usando é esta: “https://aaaaaaaa.aa3.aaaa/modules/cpfuser/consultar_cep.php”

  35. Rafael, parabéns pelo tutorial e obrigado por compartilhar a informação. Teste em um servidor local e funcionou perfeitamente.
    Grande abraço.

  36. Muito bom o post. Existe a possibilidade de fazer uma consulta tendo como exemplo esse seu post, sem utilizar o PHP ou somente com o PHP?
    Desde já obrigado.

  37. Sem usar XML, e usando GET com JSON também funciona:


    $(function()
    {
    /* Executa a requisição quando o campo CEP perder o foco */
    $(‘#cep’).blur(function()
    {
    /* Configura a requisição jQuery */
    $.getJSON(
    ‘http://cep.republicavirtual.com.br/web_cep.php’,
    ‘formato=json&cep=’+ $(‘#cep’).val(),
    function(data)
    {
    if(data.resultado == 1)
    {
    $(‘#rua’).val(data.tipo_logradouro + ‘ ‘ + data.logradouro);
    $(‘#bairro’).val(data.bairro);
    $(‘#cidade’).val(data.cidade);
    $(‘#estado’).val(data.uf);

    $(‘#numero’).focus();
    }
    }
    );
    });
    });

  38. Rafael bom dia!

    Poderia me mostrar como faço para utilizar da seguinte forma: tenho três campos: código, descrição e quantidade, gostaria de que quando eu digitar o código e for para o campo descrição ele seja preenchido automaticamente para depois eu inserir a quantidade e enviar para o banco de dados. Isso é possível? Desde já obrigado.
    Glauco Paiva

  39. Oi Rafael, tudo bom?
    Cara eu tenho um site que possui mascaras nos campos e quando eu insiro sua biblioteca jquery ela da conflito e não funciona nenhum. Pode ajudar? (WordPress)

  40. Olá, parabéns pela iniciativa.

    Estou com dificuldade de implementar o código.
    Sou iniciante e não estou conseguindo compreender o que significa: “jquery.js: plugin javascript para auxiliar “, mencionado no início deste tutorial.
    O cep.js criei conforme instruções,
    O consultar_cep.php tb,
    inclui tb os scripts ”

    meu arquivo index está com outro nome, porém alterei os names e id’s dos para os valores mencionados na construção do arquivo.
    Seria possível me auxiliar ?

    Muito obrigado.

  41. Boa tarde!
    Queria uma ajuda, tenho experiencia basica em excell e precisava muito desta informação, aqui no meu trabalho, para digitar o cep e buscar o endereço, alguém teria esta planilha em excell, que possa me disponibilizar, me ajudaria muito,

    meu email

    didi.bia10@hotmail.com

  42. No meu caso estou usando o laravel. Deu o erro: Undefined index: cep (View: C:\wamp64\www\front\resources\views\web\cep.blade.php)

    Mas gostei da lógica!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *