Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/01/2016, 19:41
Avatar de Alexis88
Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: obtener valores mediante url con javascript

Obtén la cadena de consulta mediante la propiedad search de la interface Location:
Código Javascript:
Ver original
  1. var query = location.search;

Como explica la documentación, se obtiene la cadena de consulta con el ? incluido, por lo que puedes obtener la parte de la cadena que no incluya a dicha símbolo utilizando el método .substr():
Código Javascript:
Ver original
  1. var queryFinal = query.substr(query.indexOf("?") + 1);
El método .indexOf() permite obtener la posición de un determinado elemento en una cadena. Como la posición indica en dónde empieza, le sumamos uno para que tome la parte de la cadena después del ?.

Luego de lo anterior, tendrás una cadena del tipo variable1=valor1&variable2=valor2&variableN=valorN, por lo que para acceder a cada par variable-valor, necesitas separar la cadena a partir de los &. Para esto, puedes utilizar el método .split() el cual devuelve un array con cada porción de la cadena delimitada por el carácter que se le haya pasado como argumento:
Código Javascript:
Ver original
  1. var pares = queryFinal.split("&");

Teniendo esto, puedes ver cada par variable-valor utilizando una estructura repetitiva para acceder a cada elemento del array resultante, pero como los fragmentos que quedan tendrán la forma variable=valor, necesitas volver a separarlos:
Código Javascript:
Ver original
  1. pares.forEach(function(par){
  2.     var parSeparado = par.split("=");
  3.     console.log("Variable:", par[0]);
  4.     console.log("Valor:", par[1]);
  5. });

Esta es solo una forma de hacerlo. Si dominas el tema de expresiones regulares, puedes hacerlo en menos pasos.

Un saludo
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand