我有一个脚本来查询外部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:上面的代码只对我本地主机上工作...所以我解决了这种方式,并且可以在跨域上正常工作:
$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);
参考方案
我建议您阅读有关此lib的更多信息。有了它,您可以轻松地通过php发出http请求。
例如HTTPClient->request('GET', 'addr')->json();
然后,您可以解析后端的响应并提供结果以供查看。
好吧,我不愿承认这一点,但是我对REGEX感到很困难,我永远找不到关于如何设置表达式的不错的教程。所以说我有这样的事情context['something'] 我想将所有事件更改为context[something] 那我有' . $var . ' 我想将所有事件更改为{var} 这是当前的概念,但是我在正则表达式部分…
使用jQuery将值增加到attr - php我想增加i的值。 “ for”循环不起作用。$("a[href$='.xls']").appendTo(".xl1").attr('id','xl'+i); 我搜索所有excel文件,并将它们放在容器中并增加其id的值。谢谢吉恩 参考方案 $("a[…
PHP Count数组元素 - php嗨,有人可以解释为什么这会返回“数组由0个元素组成”。 :$arr = array(1,3,5); $count = count($arr); if ($count = 0) { echo "An array is empty."; } else { echo "An array has $count elements.…
PHP:从函数返回值并直接回显它? - php这可能是一个愚蠢的问题,但是……的PHPfunction get_info() { $something = "test"; return $something; } html<div class="test"><?php echo get_info(); ?></div> 有没有办…
PHP:将数据从二维数组复制到一维数组的最快方法 - php我有一个巨大的二维PHP数组,带有500万行。$t = [ [ "id" => 1, "name" => "foo" ], [ "id" => 2, "name" => "bar" ] ]; 现在,我必须将此数组的I…