Para poder obtener todos los parámetros get desde Javascipt, utilicé un fragmento de código tomado desde
http://code-tricks.com/get-url-parameters-using-javascript/
Pero tiene el inconveniente de que si seguido del signo igual, tiene otro igual, entonces regresa un campo vacío y malforma el campo original. Por ejemplo.
?campo1=texto1&campo2=texto2&campo3====texto3
Los parámetros deberían ser 3: campo1, campo2 y campo3, y los valores tendrían que ser respectivamente: texto1, text2 t ===texto3.
Pero el código original de “Tirumal” no puede regresar el parámetro de campo3 como “===texto3”, sino que al encontrar un signo de igual seguido de otro, lo interpreta como parámetro nulo.
Es por ello que hice la respectiva correción, dando soporte para regresar el parámetro correctamente, sin importar que tenga el signo de igual, seguido de otros; se reconoce como un campo correctamente.
El código es el siguiente
function getUrlParameters(parameter, staticURL, decode){ /* Function: getUrlParameters Description: Get the value of URL parameters either from current URL or static URL Author: Tirumal URL: www.code-tricks.com Corregido por: Angelinux */ var currLocation = (staticURL.length)? staticURL : window.location.search, parArr = currLocation.split("?")[1].split("&"), returnBool = true; for(var i = 0; i < parArr.length; i++){ parr = parArr[i].split("="); if(parr[0] == parameter){ returnBool = true; parrInd = parArr[i].indexOf("="); return (decode) ? decodeURIComponent(parArr[i].substring(parrInd + 1)) : parArr[i].substring(parrInd + 1); }else{ returnBool = false; } } if(!returnBool) return false; }
El modo de uso es igual que el original.
var idParameter = getUrlParameters("id", "", true);
Y
var idParameter = getUrlParameters("id", "http://www.example.com?id=1234&auth=true", true);
0 Comentarios