Tenho um probleminha e gostaria da ajuda de vocês..
Estou desenvolvendo um sistema e na parte de cadastro o usuário digitará o CEP e será feito uma consulta no banco de dados pra trazer todos os dados do endereço.
Pois bem, arquivo PHP que possui a consulta e trás os dados já está pronto e funcionando, ele recebe o cep por GET...
O AJAX, eu peguei de acordo com o modelo da W3Schools e esse não funciona...
Pergunta
Ewerton M.
Fala galera,
Tenho um probleminha e gostaria da ajuda de vocês..
Estou desenvolvendo um sistema e na parte de cadastro o usuário digitará o CEP e será feito uma consulta no banco de dados pra trazer todos os dados do endereço.
Pois bem, arquivo PHP que possui a consulta e trás os dados já está pronto e funcionando, ele recebe o cep por GET...
O AJAX, eu peguei de acordo com o modelo da W3Schools e esse não funciona...
Segue o código de ambos.
A chamada no arquivo HTML.
A função JS q está num arquivo chamado ajax.jsfunction getCEP(str) { if(str=="") { document.getElementById("endCliente").style.display=""; return; } if(window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("endCliente").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","lib/ajaxCEP.php?cep="+str,true); xmlhttp.send(); }E por fim, o arquivo ajaxCEP.php que é o responsável pela consulta e por trazer os dados...<?php if($_GET['cep']){ $_cep = $_GET['cep']; } if(strstr($_cep,'-',true)) { $i = explode('-',$_cep); $cep = $i[0].$i[1]; } else { $cep = $_cep; } $sqlCEP = 'SELECT endereco.id_endereco,endereco.id_bairro,endereco.cep,endereco.logradouro,endereco.complemento, bairro.id_bairro,bairro.id_cidade,bairro.bairro, cidade.id_cidade,cidade.id_uf,cidade.cidade, uf.id_uf,uf.sigla,uf.uf FROM endereco INNER JOIN bairro ON(endereco.id_bairro = bairro.id_bairro) INNER JOIN cidade ON(bairro.id_cidade = cidade.id_cidade) INNER JOIN uf ON(cidade.id_uf = uf.id_uf) WHERE endereco.cep = ?'; $queryCEP = DB::getConn()->prepare($sqlCEP); $queryCEP->execute(array($cep)); $queryCEP->setFetchMode(PDO::FETCH_BOTH); $result = $queryCEP->fetch(); $countCEP = $queryCEP->rowCount(); if($countCEP == 1) { echo ' <script> alert("Oi"); document.getElementById("endCliente").style.display="block"; document.getElementById("logCliente").value="'.$result['logradouro'].'"; </script> '; }A chamada no navegador ocorre da seguinte forma ajaxCEP.php?cep=11111-111 ou ajaxCEP.php?cep=11111111
Acredito que o problema esteja no AJAX e na chamada dele...
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.