如何在没有js代码的情况下显示json结果数组

时间:2017-07-17 15:13:48

标签: php jquery json

我有一个脚本来咨询外部API并检索数据。我想要做的是显示一个只有结果的数组,没有js和HTML代码。我认为是可能的,但我不知道该怎么做。

拜托,我来自阿根廷。有时很难用其他语言解释你需要做什么...所以提前感谢大家。

以下是演示:http://seguitucompu.com/afip/padron2.php?nro=30609490

这里是代码,但是在html ...

<?php 

  if (!isset($_GET['nro']) || $_GET['nro'] =="") {
    echo "Nada que hacer acá...";
  }else {

   $nro = $_GET['nro'];

 ?>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>
<script>     


var nro = <?php echo $nro; ?>

  if (nro.length > "8") {
    busca_cuit(nro);
  } else {
    busca_dni(nro);
  }


  function busca_dni(nro) {
    $.ajax({

                  url:   'https://soa.afip.gob.ar/sr-padron/v1/personas/'+nro,

                 datatype: 'jsonp',
                 error: function (xhr, ajaxOptions, thrownError) {

                   busca_dni(nro)
      },
                      success: function(data) {
                        if (data.success == false) {

                        }
                        if (data.success == true) {
                          var tipoClave = data.data[0].tipoClave;
                          if (tipoClave == "CUIT") { 
                            busca_cuit(data.data[0].idPersona);
                            return
                           };

                            if (tipoClave == "CUIL") { 
                              var tipoClave = "96"; 
                            };

                            var respuesta = {
                                       "success":true,
                                       "data": 
                                                { "nombre": data.data[0].nombre, 
                                                  "tipoClave": tipoClave,
                                                  "idPersona": data.data[0].numeroDocumento, 

                                                  "tipoPersona": data.data[0].tipoPersona, 

                                                }, 

                                      }
                                     document.getElementById("resultado").innerHTML=JSON.stringify(respuesta);

                        }; // if success true fin
              }
          });

  }


  function busca_cuit(nro){

    $.ajax({

                  url:   'https://soa.afip.gob.ar/sr-padron/v2/persona/'+nro,

                 datatype: 'jsonp',
                 error: function (xhr, ajaxOptions, thrownError) {

                   busca_cuit(nro)
      },
                      success: function(data) {
                        if (data.success == false) {
                         respuesta = { "success": "false" }
                        }
                        if (data.success == true) {
                          if(typeof(data.data.impuestos) !== 'undefined'){
                                var impuestos = data.data.impuestos;
                                var iva = 99;
                                for (index = 0; index < impuestos.length; ++index) {
                                console.log(impuestos[index]);
                                if(impuestos[index] == '32'){var iva = '32';}
                                if(impuestos[index] == '30'){var iva = '30';}
                                if(impuestos[index] == '20'){var iva = '20';}
                                }
                                }else{var iva = '99'}
                                var respuesta = {
                                       "success":true,
                                       "data": 
                                                { "nombre": data.data.nombre, 
                                                  "tipoClave": data.data.tipoClave,
                                                  "idPersona": data.data.idPersona, 
                                                  "direccion": data.data.domicilioFiscal.direccion,
                                                  "localidad": data.data.domicilioFiscal.localidad, 
                                                  "codPostal": data.data.domicilioFiscal.codPostal,
                                                  "tipoPersona": data.data.tipoPersona, 
                                                  "iva": iva,
                                                }, 

                                      }
                                     document.getElementById("resultado").innerHTML=JSON.stringify(respuesta);
                }; // if success true fin
              } // fin success data
          });
} // fin busca_cuit

</script> 
<div id="resultado"></div>
<?php 

} ?> 

我认为我需要在服务器端执行此操作,因此用户无法查看外部站点以及我向外部站点查询的响应。

编辑:我终于可以这样做了:

<?php
$url = 'https://soa.afip.gob.ar/sr-padron/v2/persona/20306094905';
$JSON = file_get_contents($url);

echo $JSON;
?>

感谢您的提示!

编辑2:上面的代码只适用于localhost ...所以我这样解决了,并且在跨域工作正常:

$url = 'URL YOU NEED';
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    $data = curl_exec($ch);
    curl_close($ch);

    $datos = json_decode($data);

2 个答案:

答案 0 :(得分:0)

I recommend you to read more about this lib. With it you can easily make http requests through php.
For example HTTPClient->request('GET', 'addr')->json(); And than you can parse response on the backend and provide your result to view.

答案 1 :(得分:0)

您也可以使用PHP curl

执行此操作

http://php.net/manual/es/book.curl.php