Código:
Mi idea es recibir el resultado que me da el php al que llamo y dependiendo de si es 1 o 0 que la funcion existe() devuelva true o false.function existe(){ http.open('GET', url+'existeDepartamento&id='+campo.value, true); http.onreadystatechange=function() { if(http.readyState==4) { resultado=http.responseText; } } http.send(null); alert(resultado); }
El problema que veo que tengo que no puedo sacar la variable "resultado" de la funcion que la contiene (al menos no se hacerlo).
COmo deberia abordar el tema?
Por otra parte esto otro me funciona en mozilla, pero en explorer no y es raro xq probando veo que el tema podria estar en el archivo php donde saco los datos... y esto no depende del navegador sino del servidor...
Aqui el trozo javascript:
Código HTML:
http.open('GET', url+'getDepartamentos', true); http.onreadystatechange = getDepartamentoHttp; http.send(null); function getDepartamentoHttp() { if (http.readyState == 4) { var xmlDocument = http.responseXML; alert(xmlDocument.getElementsByTagName('lista').length); } }
En explorer me devuelve 0...
La parte del servidor es esta otra (dentro de un switch):
Código PHP:
case 'getDepartamentos':
$departamentos=$model->getDepartamentos();
$numDeps=count($departamentos);
$xml="<?xml version="1.0\" encoding=\"iso-8859-1\" standalone=\"yes\"?>
<lista>";
for($i=0;$i<$numDeps;$i++)
{ $xml.="<departamento>";
$xml.="<id>".$departamentos[$i]['departamento_id']."</id>";
$xml.="<nombre>".$departamentos[$i]['departamento_nombre']."</nombre>";
$xml.="</departamento>";
}
$xml.="</lista>";
header('Content-Type: text/xml');
echo $xml;
die();
break;
EL caso esque no obtengo estos registros desde Internet Explorer y es curioso la verdad...