Foros del Web » Programando para Internet » Javascript »

Problema paso con variables

Estas en el tema de Problema paso con variables en el foro de Javascript en Foros del Web. Buenos días a todos, tengo un problema que si bien sé resolverlo a lo burro quizá alguien conozca un atajo. Hace años hice una web ...
  #1 (permalink)  
Antiguo 30/01/2011, 02:29
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Problema paso con variables

Buenos días a todos, tengo un problema que si bien sé resolverlo a lo burro quizá alguien conozca un atajo. Hace años hice una web en un servidor gratuito, el caso es que recibe muchas visitas y quiero renovarlo pero existe una limitación, solo puedo usar html, css y javascipt. Nada de php, asp... en fin, limitaciones del servidor.
En lugar de usar una base de datos (tampoco nada de myql) me veo obligado a usar una array de donde extraigo los datos para búsquedas y usar más tarde.

Hasta aquí todo funciona. Es una página de setas y hay mogollón, para no tener que crear montones de html he creado un html que recibirá las variables con javascript a través de la url (ya he dicho que no me queda otra con un sencillo $_GET ya estaba), aquí la función:

Código:
function getUrlVars()
 {
var vars = [], hash;
var hashes = this.location.href.slice(this.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++)
{
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
      }
return vars;
}
var hash = getUrlVars();
Recojo, por ejemplo el id y la descripción:
var id=hash['id'];
var des=hash['des'];

Y, claro, en Firefox u Opera me llena todo de %20 %EF %BF y lo único que se me ocurre al recibir la variable usar el método replace() lo cual es un coñazo. Ahí va la pregunta: ¿existe una manera más eficiente de arreglar esto?.

Acepto alternativas, sugerencias, lo que sea. Gracias a todos.
__________________
Chanante!
  #2 (permalink)  
Antiguo 30/01/2011, 03:45
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: Problema paso con variables

Hola:

En nuestras FAQs hay algunos mensajes sobre envío y recepción de mensajes, pero para simplificar, prueba con el método unescape...

vars[hash[0]] = unescape(hash[1]);

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 30/01/2011, 05:33
Avatar de sirguy  
Fecha de Ingreso: septiembre-2006
Ubicación: Mallorca
Mensajes: 959
Antigüedad: 17 años, 6 meses
Puntos: 12
Respuesta: Problema paso con variables

Pues me ha venido fantástico, la verdad.
Cuando uno se cree que sabe mucho se olvida que existen las FAQ, me viene bien la lección de humildad.

Gracias y un saludo.
__________________
Chanante!

Etiquetas: variables
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 18:31.