Como obtener las variables de la URL con javascript.

Estuve trabajando en un proyecto que requería obtener las variables enviadas vía GET, es decir, mediante la URL, y para lograrlo construí una función que quiero compartir con ustedes. Estoy seguro que no soy el primero en pensar en este tipo de función, pero como no me he basado en ningún código o copiado la función de algún lado, no dejo créditos más que los mios.

function getGET(){
   var loc = document.location.href;
   var getString = loc.split('?')[1];
   var GET = getString.split('&');
   var get = {};//this object will be filled with the key-value pairs and returned.

   for(var i = 0, l = GET.length; i < l; i++){
      var tmp = GET[i].split('=');
      get[tmp[0]] = unescape(decodeURI(tmp[1]));
   }
   return get;
}

Para usarla solo necesitas lo siguiente:

var get = getGET();

Eso convierte la variable get en un objeto que contiene todas las variables enviadas. Por ejemplo, si la URL es:

http://sitio.com/?p=334&id=34&user=mrUser

entonces get sería un objeto como este:

get = {
   p : 334,
   id : 34,
   user : 'mrUser'
}

y puedes accederlo tal como accedes cualquier objeto.

Que te parece la función? Crees que se podría mejorar de alguna manera?

8 thoughts on “Como obtener las variables de la URL con javascript.

  1. jajaja, por esas cosas de la vida llegué a tu blog buscando “javascript obtener variables GET” en google xD, ni me había acordado que ya había comentado aquí😀

    • “Ya habrá algún día que lo necesite, y entonces vendré a buscar tu método.”

      Parece que llegó el día😀

Comments are closed.