Problem in php json return

Asked

Viewed 117 times

-1

I’m having a problem on my return json when I try to access the data it returns to me object object follows my code

PHP

        $cep = $_POST['cep'];
        $consulta = new Cep();
        $cepCliente = $consulta->getCep($cep);

        $logradouro = $cepCliente->logradouro;
        $complemento = $cepCliente->complemento;
        $bairro = $cepCliente->bairro;
        $localidade = $cepCliente->localidade;
        $uf = $cepCliente->uf;

        $retorno = array("logradouro"=>$logradouro, "complemento"=>$complemento, "bairro"=>$bairro, "localidade"=>$localidade, "uf"=>$uf);
        echo json_encode($retorno);

jQuery

      $.ajax({
        url: 'Controler/consultarCep.php',
        type: 'POST',
        data: dado,

        success: function(r){
            let result = JSON.parse(r),
                logradouro = result.logradouro;
                complemento = result.complemento;
                bairro = result.bairro;
                localidade = result.localidade,
                uf = result.uf;

                alert(bairro);

        }
      });
  • In php, the variable $bairro is an object or a string?

  • Use console.log on the result element and the r element to find out what they are. You can help

  • Try {type: 'POST', dataType: 'json', data: given, processData: false,url: 'Controler/consultarCep.php'}. This will already return the request in json format, in r variable

1 answer

0

In these cases I use a foreach in javascript, this way and add the field dataType: 'json':

$.ajax({
    url: 'Controler/consultarCep.php',
    type: 'POST',
    data: dado,
    dataType: 'json',
    success: function(r){
         r.forEach(resposta);
               }
  });

  function resposta(value, index, ar) {

            logradouro = value.logradouro;
            complemento = value.complemento;
            bairro = value.bairro;
            localidade = value.localidade,
            uf = value.uf;

            alert(bairro);
}

Browser other questions tagged

You are not signed in. Login or sign up in order to post.