Foros del Web » Programando para Internet » Javascript »

cadena demasiado larga en javascript

Estas en el tema de cadena demasiado larga en javascript en el foro de Javascript en Foros del Web. Buenas. Tengo una aplicación en la cual tengo q coger de un combobox una lista de entidades, tengo que pillar el id y el texto ...
  #1 (permalink)  
Antiguo 11/03/2009, 03:20
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
cadena demasiado larga en javascript

Buenas. Tengo una aplicación en la cual tengo q coger de un combobox una lista de entidades, tengo que pillar el id y el texto que sea. Lo cojo con javascript y de ahí tengo que pasarlo a una página asp. Lo que he hecho ha sido meterlo todo en una cadena separando por símbolos para luego haciendo split sacar toda la información. Pero por lo que parece el tamaño de la cadena resultante da problemas a la hora de pasarlo...no me la coge bien. ¿Alguien sabe cmo evitar esto?
  #2 (permalink)  
Antiguo 11/03/2009, 03:37
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: cadena demasiado larga en javascript

Hola:

Me acuerdo que en otra ocasión tuvieron el mismo problema, pero con una cadena con miles de letras, y cosas tan largas solo se pueden enviar por post (todos los navegadores tienen su límite... unos mayores que otros), así que siendo controles de formulario, lo que creo mejor es un submit... siempre puedes cambiar su action y su target... y al botón puedes cambiar su aspecto...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 11/03/2009, 03:52
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: cadena demasiado larga en javascript

Pfff no, no puedo hacer eso porque tengo que recargar el resultado con ajax y tengo que mandar la información usando:

xmlHttpRequest.open('POST', url, true);


Alguna otra idea?
  #4 (permalink)  
Antiguo 11/03/2009, 04:03
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: cadena demasiado larga en javascript

Hola:

Si los problemas son difíciles, las soluciones suelen ser muy complejas... por ejemplo... si usas un lenguaje del servidor que admita sesiones, repartir la parte de esa cadena que pueda ser guardada en variables de sesión, usarlo...

Ajax, también se considera como una mezcla de tecnologías, y un formulario enviado a un iframe oculto, también se considera ajax...

Algo tendrás que sacrificar (dudo que existan respuestas maravillosas a tu problema)... a no ser que se le ocurra algo mejor a alguien.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 11/03/2009, 04:03
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: cadena demasiado larga en javascript

Podrías poner algo más del código así como una estimación de cuánto de grande es la cadena, y podrías contar qué error te da o cómo llega la cadena o qué es lo que pasa exactamente.
  #6 (permalink)  
Antiguo 12/03/2009, 06:09
 
Fecha de Ingreso: febrero-2009
Mensajes: 102
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: cadena demasiado larga en javascript

Muchas gracias, quería poner el código pero es que me daba muchos problemas el sistema anti spam xq no me deja poner urls ni nada de eso.

De todas formas ya lo he solucionado, os explico por si a alguien le pasa alguna vez. El método get para ajax no me permitia mandar semejante cadena, yo lo suponía y por eso ponía POST en su lugar. El problema era que el método POST de ajax no se utiliza así, requiere otra sintaxis que yo desconocía.

Sería

Código:
var parameters="action=filtrar&filtro="+filtroXML+"&cadenaEntidad="+cadenaEntidad;
	xmlHttpRequest.open("POST", nombrePagina, true)
	xmlHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded") 
xmlHttpRequest.send(parameters)
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 03:05.