Tengo este codigo PHP, que hace una consulta a la base de datos y me devuelve el numero de filas encontradas que es el valor que quiero pasar en la variable &a. Yo creo que el archivo este va bien:
Código PHP:
   <?php
require_once("php/php.php");
 
$formUsuario = $_POST['usuario'];
$control= $_POST['control'];
 
switch ($control){
    case "usuario": 
        $nombre= mysql_escape_string($formUsuario)    ;            
        $servidor = "xxxxxxxxx";
        $usuario = "xxxxxxx";
        $pass = "xxxxxxxx";
        $base_datos = "xxxxxxxx";
        $mysql = "select * from general WHERE nombre='{$nombre}' ";
        $conexion = new Servidor_Base_Datos($servidor,$usuario,$pass,$base_datos);
        $conexion-> consulta($mysql);
        $a =$conexion->numero_filas();
 
        $xml=  "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
        $xml.= "<Valida>";
        //echo "<control>".$a."</control>";
 
// He probado con CDATA y Sin CDATA obteniendo el mismo resultado
 
        $xml.="<Control>![CDATA[$a]]</Control>";
        $xml.="</Valida>";
        header("Content-type:text/xml");
        echo $xml;
    break;
     case 2:
    alert("no");
    break;
    default:
    echo("no va");
 
}
   
?>    <?xml version="1.0" encoding="utf-8" ?><Valida><Control>![CDATA[1]]</Control></Valida>
Si realizo alert("Estado: " + ajax.status + "\nMotivo: " + ajax.statusText);
obtengo
Estado: 200
Motivo: OK
Yo creo que se produce la recepcion pero el problema viene al intentar sacar los datos recibidos mediante DOM. Os pongo el codigo que utilizo y el error que da el firebug:
 Cita:  
var documento = ajax.responseXML;
var root = documento.getElementsByTagName('Valida')[0];
var info = root.getElementsByTagName('Control')[0].firstChild.nodeValue;
   
El programa se para al llegar a la fila de root mostrando el siguiente error:var documento = ajax.responseXML;
var root = documento.getElementsByTagName('Valida')[0];
var info = root.getElementsByTagName('Control')[0].firstChild.nodeValue;
root is undefined
onreadystatechange()()index.js (línea 376)
[Break on this error] var info = root.getElementsByTagName('Control')[0].firstChild.nodeValue
Espero que me podais ayudar porque llevo unos dias atascado en este punto y no encuentro la solucion.
Salu2
 
. 
