我有一个脚本来咨询外部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);
答案 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
执行此操作