Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/09/2011, 12:42
augusto_jaramil
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 10 meses
Puntos: 8
Pregunta Primiparo en AJAX.... cual es el error?

Hola amigos foreros....

Estoy recien incursionando en el mundo de AJAX guiado por un manual.

Probando un ejercicio no me ha dado la respuesta esperada

Este es el codigo
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1-transitional.dtd">
<
html>
  <
head>
    <
title>Ejemplo02 AJAX</title>
    <
script type="text/javascript">

      var 
net = new Object();

      
net.READY_STATE_UNINITIALIZED 0;
      
net.READY_STATE_LOADING 1;
      
net.READY_STATE_LOADED 2;
      
net.READY_STATE_INTERACTIVE 3;
      
net.READY_STATE_COMPLETE 4;

      
net.CargadorContenidos = function(urlfuncionfuncionError) {
           
this.url url;
           
this.req null;
           
this.onload funcion;
           
this.onerror = (funcionError) ? funcionError this.defaultError;
           
this.cargaContenidoXML(url); 
      }

      
net.CargadorContenidos.prototype = {
           
cargaContenidoXML:function(url) {
               if (
window.XMLHttpRequest) {
                  
this.req = new XMLHttpRequest();
               }
               else if (
window.ActiveXObject) {
                     
this.req = new ActiveXObject("Microsoft.XMLHTTP");
               }
               if (
this.req) {
                  try {
                    var 
loader this;
                    
this.req.onreadystatechange = function () {
                       
loader.onReadyState.call(loader);
                    }

                    
this.req.open('GET'urltrue);
                    
this.req.send(null);
                  } catch(
err) {
                      
this.onerror.call(this);
                  }
               }
           },
           
onReadyState:function () {
              var 
req this.req;
              var 
ready this.readyState;
              if (
ready == net.READY_STATE_COMPLETE) {
                 var 
httpStatus req.status;
                 if (
httpStatus == 200 || httpStatus == 0) {
                    
this.onload.call(this);
                 }
                 else {
                    
this.onerror.call(this);
                 }
              }
           },
           
defaultError:function () {
              
alert ("Se ha producido un error al obtener los datos: "
                     
"\n\n readyState: " this.req.readyState
                     
"\n Status: " this.req.status
                     
"\n headers: " this.req.getAllResponseHeaders());
           }
        }

      function 
mostrarContenido() {
         
alert(this.req.responseText);
      }

      function 
cargaContenidos() {
         var 
cargador = new net.CargadorContenidos("http://localhost/ajax/holamundo.txt"mostrarContenido);
      }

      
window.onload cargaContenidos;
    
</script>
  </head>
  <body>
  </body>
</html> 
El problema que he detectado y no se como resolver es el siguiente:

En la funcion
Código PHP:
           onReadyState:function () {
              var 
req this.req;
              var 
ready this.readyState;
              if (
ready == net.READY_STATE_COMPLETE) {
                 var 
httpStatus req.status;
                 if (
httpStatus == 200 || httpStatus == 0) {
                    
this.onload.call(this);
                 }
                 else {
                    
this.onerror.call(this);
                 }
              }
           }, 
la variable ready al hacer un alert aparece como indefinida y supongo que si la condicion if (ready == net.READY_STATE_COMPLETE) no se cumple se iria por el else { this.onerror.call(this) pero tampoco la ejecuta...

Me podrian ayudar a resolverlo?

Mil Gracias de antemano

Un Cordial Saludo.