3
I’m making a registration system, where the ZIP code search should appear as soon as the field changes. But the AJAX return is not working. How do I return JSON to PHP? PS: ZIP search is offline
<script type="text/javascript">
jQuery(function($){
   $("#cep").change(function(){
      var cep = $(this).val();
      if( cep.length <= 0 ) return;
      $.getJSON('cep.ajax.php',{cep: $(this).val(), ajax: 'true'}, function(result) {
      alert(JSON.stringify(result));
            $("input#cep").val( result.cep );
            $("input#estado").val( result.uf );
            $("input#cidade").val( result.cidade );
            $("input#bairro").val( result.bairro );
            $("input#endereco").val( result.rua );
            $("input#estado").val( result.uf );
               });
            });
         });
</script><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
<label>CEP:</label><input type="text" name="cep" id="cep" /><br />
<label>Bairro:</label><input type="text" name="bairro" id="bairro" /><br />
<label>Endereço:</label><input type="text" name="endereco" id="endereco" /><br />
<label>Número:</label><input type="text" name="numero" id="numero" /><br />
<label>Complemento:</label><input type="text" name="complemento" id="complemento" /><br />
<label>Cidade:</label><input type="text" name="cidade" id="cidade" /><br />
<label>Estado:</label><input type="text" name="estado" id="estado" /><br />
//arquivo cep.ajax.php
<?php
	$cep = mysqli_real_escape_string($concep, $_REQUEST['cep'] );
    $cep5 = substr($cep,0,5);
    //define tabela
	$sql = "SELECT * FROM cep_log_index WHERE cep5='$cep5'";
	$res = mysqli_query($concep, $sql );
	while ( $row = mysqli_fetch_assoc( $res ) ) {
		    $uf	= $row['uf'];
	}
	
	//busca cep
	$sql2 = "SELECT * FROM $uf WHERE cep='$cep'";
	$res2 = mysqli_query($concep, $sql2 );
	while ( $row = mysqli_fetch_assoc( $res2 ) ) {
		    $tipo = $row['tp_logradouro'];
            $rua  =  $row['logradouro'];
            $bairro =  $row['bairro'];
            $cidade =  $row['cidade'];
            $cep = $row['cep'];
	};
$endereco = array("tipo"=>$tipo, "rua"=>$rua, "bairro"=>$bairro, "cidade"=>$cidade, "cep"=>$cep, "uf"=>$uf);
echo json_encode($endereco);
?>
I believe this is not the problem, work without the header and the data is brought normally.
– Rogers Corrêa
He comes to call the ajax request?
– Jeferson Assis
I tried to use Cod: "Alert(JSON.stringify(result);", to check if the variable is going but nothing.. so I don’t know if it calls the request.
– Rocha
Checks if an error appears on the console and if it is going to the request
– Jeferson Assis
I put the header, and in this I can see the page cep.ajax.php is ok. On the console shows no error, and I found that if I put the zip code without the '-', at least now echoes me the return, all in 'null'.
– Rocha