variable values read querystring query parse from javascript jquery query-string

javascript - values - jQuery obtener cadenas de consulta de la URL



jquery parse query string (5)

De: http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html

Esto es lo que necesitas :)

El siguiente código devolverá un objeto JavaScript que contiene los parámetros de URL:

// Read a page''s GET URL variables and return them as an associative array. function getUrlVars() { var vars = [], hash; var hashes = window.location.href.slice(window.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; }

Por ejemplo, si tienes la URL:

http://www.example.com/?me=myValue&name2=SomeOtherValue

Este código devolverá:

{ "me" : "myValue", "name2" : "SomeOtherValue" }

y usted puede hacer:

var me = getUrlVars()["me"]; var name2 = getUrlVars()["name2"];

Posible duplicado:
¿Cómo puedo obtener valores de cadena de consulta?

Tengo la siguiente URL:

http://www.mysite.co.uk/?location=mylocation1

Lo que necesito es obtener el valor de location de la URL en una variable y luego usarlo en un código jQuery:

var thequerystring = "getthequerystringhere" $(''html,body'').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500);

¿Alguien sabe cómo tomar ese valor usando JavaScript o jQuery?


Echa un vistazo a esta respuesta .

function getParameterByName(name, url) { if (!url) url = window.location.href; name = name.replace(/[/[/]]/g, "//$&"); var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), results = regex.exec(url); if (!results) return null; if (!results[2]) return ''''; return decodeURIComponent(results[2].replace(//+/g, " ")); }

Puedes usar el método para animar:

es decir:

var thequerystring = getParameterByName("location"); $(''html,body'').animate({scrollTop: $("div#" + thequerystring).offset().top}, 500);


Lo hacemos de esta manera ...

String.prototype.getValueByKey = function (k) { var p = new RegExp(''//b'' + k + ''//b'', ''gi''); return this.search(p) != -1 ? decodeURIComponent(this.substr(this.search(p) + k.length + 1).substr(0, this.substr(this.search(p) + k.length + 1).search(/(&|;|$)/))) : ""; };


Una forma fácil de hacer esto con algunos jQuery y JS directo, simplemente vea su consola en Chrome o Firefox para ver la salida ...

var queries = {}; $.each(document.location.search.substr(1).split(''&''),function(c,q){ var i = q.split(''=''); queries[i[0].toString()] = i[1].toString(); }); console.log(queries);