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

Retornos de carro misteriosos al rellenar celda vía ajax

Estas en el tema de Retornos de carro misteriosos al rellenar celda vía ajax en el foro de Frameworks JS en Foros del Web. Hola chicos, ¿Alguien sabe por qué cuando relleno una celda con ajax me inserta como una especie de retorno de carro invisible? El caso es ...
  #1 (permalink)  
Antiguo 16/12/2008, 05:53
 
Fecha de Ingreso: octubre-2004
Mensajes: 29
Antigüedad: 20 años, 2 meses
Puntos: 0
Pregunta Retornos de carro misteriosos al rellenar celda vía ajax

Hola chicos,

¿Alguien sabe por qué cuando relleno una celda con ajax me inserta como una especie de retorno de carro invisible?

El caso es que tengo una tabla en la cual, en una celda inserto una tabla a modo de visualización de registros, que se pueden ordenar por los distintos campos de la tabla.

El caso es que cuando elijo un campo, se hace una petición vía ajax a un php que devuelve la misma tabla ordenada nuevamente por el campo elegido, cosa que hace bien.

El problema viene que en la tabla de registros que devuelve el ajax se visualiza como con un retorno de carro antes de dicha tabla, pero sin existir ningún caracter extraño.

El problema es sólo de visualización, y seguramente, tenga algo que ver con la codificación de las páginas, ya que antes de pasar mis .php a utf-8, funcionaba perfectamente.

Los archivos UTF-8 no tienen ningún caracter extraño al principio de los mismos.

Alguna idea??

Última edición por bucky; 16/12/2008 a las 06:13 Razón: Mejora del título
  #2 (permalink)  
Antiguo 16/12/2008, 09:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Hola bucky,

Revisa esta FAQ: http://www.forosdelweb.com/2023067-post176.html

Saludos.
  #3 (permalink)  
Antiguo 16/12/2008, 12:01
 
Fecha de Ingreso: octubre-2004
Mensajes: 29
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Cita:
Iniciado por GatorV Ver Mensaje
Hola bucky,

Revisa esta FAQ: http://www.forosdelweb.com/2023067-post176.html

Saludos.
Hola GatorV,

Gracias por tu contestación, pero es algo que ya había revisado.

Cita:
Iniciado por bucky Ver Mensaje
Los archivos UTF-8 no tienen ningún caracter extraño al principio de los mismos.
Gracias de todas maneras.

A destacar que tanto la creación por primera vez de la tabla como al ordenarla, se generan de la misma manera.
  #4 (permalink)  
Antiguo 16/12/2008, 14:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Mmm entonces sin ver tu codigo es dificil ver donde se esta generando el salto de linea.

Saludos.
  #5 (permalink)  
Antiguo 17/12/2008, 03:28
 
Fecha de Ingreso: octubre-2004
Mensajes: 29
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Cita:
Iniciado por GatorV Ver Mensaje
Mmm entonces sin ver tu codigo es dificil ver donde se esta generando el salto de linea.

Saludos.
Hola,

El código es muy complejo ya que está implementado a partir de varios .php y estos a su vez de clases en php.

Mi pregunta va más bien a temas de codificacion UTF-8 y lo que ajax devuelve ya que es en ese punto donde se genera el salto de línea, que no es en sí un salto de línea, ya que no existe caracter alguno antes la tabla que os mencioné, simplemente se baja una línea.

Es que poner todo el código fuente puede ser más engorroso que productivo.

Gracias de todas maneras.
  #6 (permalink)  
Antiguo 17/12/2008, 10:20
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Pues mira puedes usar una herramienta como Firebug para ver el request y el response de un request en AJAX asi puedes ver si AJAX te esta devolviendo el salto de linea y hacer mas debug, o si este viene por otra parte.

Saludos.
  #7 (permalink)  
Antiguo 17/12/2008, 12:10
 
Fecha de Ingreso: octubre-2004
Mensajes: 29
Antigüedad: 20 años, 2 meses
Puntos: 0
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Cita:
Iniciado por GatorV Ver Mensaje
Pues mira puedes usar una herramienta como Firebug para ver el request y el response de un request en AJAX asi puedes ver si AJAX te esta devolviendo el salto de linea y hacer mas debug, o si este viene por otra parte.

Saludos.
Hola,

Gran idea !!!, no había caído en revisarlo con Firebug, gracias.

Lo que he hecho es coger la respuesta de ajax, y pegarlo simulando la situación de salida, volviéndose a repetir la situación del renglón pero con la diferencia de poder trastear con el código html.

Pues así, me he percatado que existe un caracter invisible al principio de la salida del ajax que es el que me genera el renglón. Sólo sé de su existencia porque al colocar el cursor en el primer caracter visible de la salida del ajax y presionar backspace, parece eliminar algo, ya que no hay movimiento de texto (no se si me explico)

Vale, entonces el ajax me pasa un caracter que no detecto ni veo que genera el reglón pero, ¿por qué? Todos los archivos son UTF-8 y no utilizo ninguna función del tipo encode o decode.

Quizás me esté fallando el Accept-Language o el Accept-Charset de los Encabezados de la Solicitud

¿Qué opináis?

Por si acaso, aquí os dejo más info de la petición ajax:
Código:
Encabezados de la Respuesta
Date:Wed, 17 Dec 2008 17:45:00 GMT
Server:Apache/2.2.9 (Ubuntu) PHP/5.2.6-2ubuntu4 with Suhosin-Patch mod_ruby/1.2.6 Ruby/1.8.7(2008-08-11)
X-Powered-By:	PHP/5.2.6-2ubuntu4
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma:no-cache
Content-Length:7388
Keep-Alive:timeout=15, max=98
Connection:Keep-Alive
Content-Type:text/html

Encabezados de la Solicitud
Host:www.midominio.com
User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; es-ES; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
Accept:text/javascript, text/html, application/xml, text/xml, */*
Accept-Language:es-es,es;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding:gzip,deflate
Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive:300
Connection:keep-alive
X-Requested-With:XMLHttpRequest
X-Prototype-Version:1.5.0_rc0
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Referer:http://www.midominio.com/archivo_peticion.php
Content-Length:67
Cookie	:punbb_cookie=a%3A2%3A%7Bi%3A0%3Bs%3A1%3A%222%22%3Bi%3A1%3Bs%3A32%3A%2270a30ab7d08e7dc345f557010c218dbb%22%3B%7D; __utma=75460356.1413767394106709000.1222785974.1228824387.1229447345.15; __utmz=75460356.1224000685.4.2.utmcsr=google|utmccn=(organic)|utmcmd=organic|utmctr=site:www.midominio.com; cookieid=c85c943797458518785c6b96789ea9c8; PHPSESSID=bf6c53b0065e96401ec112737f49f42c
  #8 (permalink)  
Antiguo 17/12/2008, 13:43
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 6 meses
Puntos: 2135
Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Pues esta muy raro, verifica que no tengas tampoco en tus scripts php ningun espacio antes de abrir el <?php, ya que muchas veces se nos escapa un espacio o algo.

Saludos.
  #9 (permalink)  
Antiguo 30/12/2008, 05:52
 
Fecha de Ingreso: octubre-2004
Mensajes: 29
Antigüedad: 20 años, 2 meses
Puntos: 0
De acuerdo Respuesta: Retornos de carro misteriosos al rellenar celda vía ajax

Cita:
Iniciado por GatorV Ver Mensaje
Pues esta muy raro, verifica que no tengas tampoco en tus scripts php ningun espacio antes de abrir el <?php, ya que muchas veces se nos escapa un espacio o algo.

Saludos.
Hola,

Al final no he sido capaz de encontrar ningún espacio, ni retorno de carro, ni caracter extraño en ningún archivo relacionado con la transacción en AJAX, pero he encontrado una manera sencilla de solucionarlo, que explico a continuación por si a alguien le interesa.

El caso es que la salida que me proporciona AJAX, siempre tiene que empieza por "<script>" (porque así lo tengo implementado), así que lo que hago es utilizar la función de javascript split() de la siguiente manera:
Código:
aux = resultadoAjax.split("<script>");
salidaInnerHTML = "<script>" + aux[1];
Así en salidaInnerHTML obtengo la salida deseada sin ningún caracter extraño que me toque las narices, para rellenar mi tabla.

Gracias GatorV por tu interés.

Saludos y Felices Año 2009!!!
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 23:26.