Foros del Web » Programando para Internet » Javascript » Frameworks JS »

formatear en html datos de ajax

Estas en el tema de formatear en html datos de ajax en el foro de Frameworks JS en Foros del Web. hola mi problema es que no tengo muy claro como tratar los datos html con ajax. yo manejo php y se que por ejemplo tengo ...
  #1 (permalink)  
Antiguo 05/08/2010, 07:29
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 10 meses
Puntos: 5
formatear en html datos de ajax

hola mi problema es que no tengo muy claro como tratar los datos html con ajax.
yo manejo php y se que por ejemplo tengo que hacer un echo para que se vea:

Código PHP:
echo"<a href=\"index.php\">ir logearse</a><br>"
y si necesito poner codigo html lo escribo dentro de las comillas escapando las comillas del html con una barra invertida.
(embeber codigo html)

pero en ajax quiero lograr una tabla que me muestre datos, el formato de la tabla en html es bastante complejo, y yo lo unico que tengo es una etiqueta div con un id.

Código:
<div id="newcomentary" ></div>
y el ajax tiraria la info ya formateada ahi adentro, con un loop alguien sabe como se hace esto ??
  #2 (permalink)  
Antiguo 05/08/2010, 07:59
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: formatear en html datos de ajax

miren si pongo esto funciona:

Código:
document.getElementById('foto').innerHTML = 'hola';
pero si pongo esto deja de funcionar:

Código:
document.getElementById('foto').innerHTML = '<table width="380" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="70" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="70" height="70"><img src="fotos\usuarios/'+newuser+'.jpg\" width="70" height="70"></img></td>
        </tr>
    </table></td>
    <td width="310" height="36" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="310" height="36">nombre</td>
      </tr>
    </table>    </td>
  </tr>
  <tr>
    <td height="34" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="310" height="34">comentario</td>
        </tr>
    </table></td>
  </tr>
</table>';
en teoria es lo mismo pero no se donde es que deja de funcionar.
ya intente escapando las comillas con barras invertidas y nada
  #3 (permalink)  
Antiguo 05/08/2010, 09:28
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Respuesta: formatear en html datos de ajax

No es lo mismo. El texto está lleno de saltos de línea (que javascript considera separador de instrucción) y (probablemente, no lo miré a fondo) otros caracteres que necesitan escaparse.
Te recomiendo que escapes la salida html en el mismo php, con una función como esta o semejante:
Código PHP:
function js_encode($s){
    
$texto='';
    
$lon=strlen($s);
    for(
$i=0;$i<$lon;++$i){
        
$num=ord($s[$i]);
        if(
$num<16$texto.='\x0'.dechex($num);
        else 
$texto.='\x'.dechex($num);
    }
    return 
$texto;

  #4 (permalink)  
Antiguo 05/08/2010, 16:53
Avatar de intiweb  
Fecha de Ingreso: mayo-2009
Ubicación: Capital Federal
Mensajes: 363
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: formatear en html datos de ajax

perdon pero no logro entender esa funcion no hay una forma de escapar estos caracteres de alguna manera mas facil como en php ?
bueno pero al menos ya se cual es el error me pondre a investigar esta funcion a ver si la logro entender.
como veras soy vastante novato en ajax

Etiquetas: ajax, formatear, html
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 10:58.