Foros del Web » Programando para Internet » Node.js »

No se procesa el contenido de createTextNode

Estas en el tema de No se procesa el contenido de createTextNode en el foro de Node.js en Foros del Web. mi problema es el siguiente: He creado una pequeña página para que un cliente pueda ver una serie de opciones que varian dependiendo del día, ...
  #1 (permalink)  
Antiguo 19/05/2009, 04:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 14 años, 11 meses
Puntos: 1
No se procesa el contenido de createTextNode

mi problema es el siguiente:
He creado una pequeña página para que un cliente pueda ver una serie de opciones que varian dependiendo del día, hora, estado del servidor etc, etc.

El servidor lo que retorna es CODIGO HTML y noto la importancia de que lo que me retorna no es un texto ni nada paresido es HTML básico.
ese HTML se supone debe ser procesado por el navegador y mostrarte en ocasiones una tabla. en otras puede ser otras cosas.
Pero no es el punto al que quiero llegar
mi problema es que usando innerHTML el código que recibo del servidor es procesado y me muestra la tabla correspondiente. por lo tanto innerHTML funciona genial! porque me muestra todo lo que se supone que debo ver.

Pero yo estoy tratando de usar el DOM estandar en vez del innerHTML y he ahi donde comenzó mi problema
voy a pegar a continuación las partes del código.
esta es la web HTML
Código PHP:
...
...
<
A href="user_pid.php?id=5">Contactar con Soporte</A><br>
</
div>
<
br>
<
div class="menu_central" id="cen"></div
Este es el código que debe procesar lo que va llegando del servidor
y mostrarlo en el div con el id="cen" que estoy mostrando en el código anterior.


Código PHP:
function procesarResultados()
{
var 
resultados document.getElementById("cen");

if(
conexion1.readyState == 4)
      {
    for(
i=0;i<resultados.childNodes.length;i++)
    {
    
resultados.removeChild(resultados.childNodes[i]);
    }
    
nodo_texto_todook document.createElement(conexion1.responseText);
    
resultados.appendChild(nodo_texto_todook);
      }

else
    if(
conexion1.readyState == 1)
    {
    for(
i=0;i<resultados.childNodes.length;i++)
    {
    
resultados.removeChild(resultados.childNodes[i]);
    }
    
nodo_texto_cargando document.createTextNode("Cargando...");
    
resultados.appendChild(nodo_texto_cargando);
    }


Y esto último es lo que el servidor le está enviando y que debería de mostrarse como una tabla.

Código PHP:
<table> <tbody> <tr> <td>Título</td> <td>Precio</td> <td>Cantidad</td> <td>vencimiento</td> <td>tipo y forma</td> </tr><tr> <td>asdfasdf</td> <td>12</td> <td>12</td> <td></td> <td>Vc P </td></tr> </tbody> </table
El problema concreto es que cuando el navegador me muestra el resultado lo veo así tal cual
osea veo el código fuente de la tabla en vez de ver la tabla.. osea que el navegador no procesa ese código sino que me lo imprime y eso no me sirve.
Necesito saber como puedo procesar y mostrar la representación de ese código en este caso "una tabla".
La solución obvia es usar como dije arriba innerHTML. Ya lo he probado y en efecto no me muestra código me muestra la tabla.. pero con este método como hago para ver la tabla usando los métodos del dom?????
  #2 (permalink)  
Antiguo 19/05/2009, 08:38
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No se procesa el contenido de createTextNode

Aunque uses innerHTML, esto se inyecta en el DOM por lo que puedes usar las funciones para navegar el DOM ya que todo ese HTML se inyecta como parte de tu documento HTML.

Saludos.
  #3 (permalink)  
Antiguo 19/05/2009, 12:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: No se procesa el contenido de createTextNode

Claro pero actualmente no importa si está o no inyectado en el DOM lo que me importa es poder ver la tabla! porque no veo la tabla! veo el código fuente de esa tabla y no sé como solucionarlo
me comprendes?
Podrías ayudarme un poco más?
  #4 (permalink)  
Antiguo 19/05/2009, 13:06
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No se procesa el contenido de createTextNode

Si quieres ver el código fuente generado, te recomiendo usar una herramienta como Firebug para Firefox, este te permite ver el código generado de una pagina web, en este caso verias el DOM con la tabla inyectada después de ser agregada por el innerHTML.

Saludos.
  #5 (permalink)  
Antiguo 19/05/2009, 20:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 25
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: No se procesa el contenido de createTextNode

No no no!
nadie está entendiendo lo que digo! :(
mi problema es que en el explorador yo estoy viendo el código fuente! osea! que cuando el servidor me responde! en el cuadro con el id="cen" en vez de aparecerme una tabla aparece el código fuente de la tabla IMPRESA EN EL NAVEGADOR! y es justamente lo contrario a lo que yo quiero!
yo quiero que el servidor me responda con el código fuente de la página y yo quiero ver una tabla en el navegador! y es por eso que puse este post!
Porque al obtener respuesta del server y colocar esa respuesta en el div así como está en el código.
en el navegador me aparece el codigo. y lo que yo deseo es ver la tabla
me explico?
  #6 (permalink)  
Antiguo 20/05/2009, 10:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: No se procesa el contenido de createTextNode

Pues tu mismo te contestaste, necesitas usar innerHTML FORZOSAMENTE, no hay otra forma, cuando tu usas createTextNode es eso creas un nodo de texto, no de HTML, para eso esta innerHTML, y aunque tu inyectes tu tabla usando innerHTML como te explique desde mi primer post, lo puedes navegar por el arbol del DOM ya que queda agregado.

Saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:50.