Obtén la cadena de consulta mediante la propiedad
search
de la
interface Location
:
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 originalvar 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 originalvar 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 originalpares.forEach(function(par){
var parSeparado = par.split("=");
console.log("Variable:", par[0]);
console.log("Valor:", par[1]);
});
Esta es solo una forma de hacerlo. Si dominas el tema de expresiones regulares, puedes hacerlo en menos pasos.
Un saludo