JavaScript - Submitted URI too large! Get por POST

 
Vista:
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Submitted URI too large! Get por POST

Publicado por Jordi (28 intervenciones) el 23/03/2016 16:42:31
Hola a todos. Tengo un código JS que envia una variable muy larga a otro PHP y lo envia por GET.

1
window.location="newPagina2.php?categoria="+ categoria +"&titol="+ titol +"&nomBoto="+ nomBoto +"&contingut="+ contingut;

El cual "contingut" es la variable larga. El tema es que el navegador no puede pasar parametros tan largos y me da el siguiente error: Submitted URI too large!

Hay alguna manera de pasarlo al otro PHP sin que de ese error? Esto me pasa con chrome, el iexplorer no da el error pero solo pasa un trozo de la variable, osea, que estamos igual...

Alguien tiene una solución para esto?



Gracias i un saludo!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.162
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Submitted URI too large! Get por POST

Publicado por xve (2100 intervenciones) el 24/03/2016 13:35:58
Hola Jordi, a mi modo de ver, puedes hacerlo de tres formas...

1.- Pasar los datos por POST... esta creo que es la mejor opción... aquí te he preparado un ejemplo:
http://www.lawebdelprogramador.com/codigo/JQuery/3473-Enviar-desde-jquery-parametros-pos-post.html

2.- Otra manera que se me ocurre (dependiendo de la longitud) es guardarlo en una cookie para leerlo posteriormente desde el otro archivo.
http://www.lawebdelprogramador.com/codigo/JavaScript/1720-cookies-crear-consultar-y-eliminar.html

3.- Intentar comprimir el contenido y pasarlo comprimido para posteriormente descomprimirlo... haber si te sirve este código:
1
2
3
4
5
6
7
8
9
function encodeForURL ($stringArray) {
	$s = strtr(base64_encode(addslashes(gzcompress(serialize($stringArray),9))), '+/=', '-_,');
	return $s;
}
 
function decodeFromURL ($stringArray) {
	$s = unserialize(gzuncompress(stripslashes(base64_decode(strtr($stringArray, '-_,', '+/=')))));
	return $s;
}


Espero que te sirva...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Submitted URI too large! Get por POST

Publicado por Jordi (28 intervenciones) el 01/04/2016 01:21:47
Hola xve!

Primero de todo perdona por tardar tanto en contestar, pero no he podido ponerme a ello hasta ahora.

La que me parece mejor es la 1.

La 2 no me vale porque la variable que estoy pasando contiene una pagina entera de código, y las cookies estan muy limitadas de tamaño.

La 3 he probado tu código pero no he llegado a que me funcione bien, pero creo que tampoco comprimirá suficiente como para que pase por GET. Así que me pongo con la 1 ahora mismo y mañana te cuento.


Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jordi
Val: 9
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Submitted URI too large! Get por POST

Publicado por Jordi (28 intervenciones) el 01/04/2016 02:22:06
Perfecto con la 1 y funcionando!!

Muchas gracias xve

Saludos!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar