Ich habe viele jQuery-Beispiele gesehen, bei denen Größe und Name des Parameters unbekannt sind.
Meine URL wird immer nur eine Zeichenfolge haben:
http://beispiel.com?sent=yes
Ich möchte nur erkennen:
- Existiert
sent
? - Ist es gleich "yes"?
Ich habe viele jQuery-Beispiele gesehen, bei denen Größe und Name des Parameters unbekannt sind.
Meine URL wird immer nur eine Zeichenfolge haben:
http://beispiel.com?sent=yes
Ich möchte nur erkennen:
sent
?Eine leichte Verbesserung von Sameers Antwort, cachen Sie die Parameter in einem Closure, um das Parsen und Durchlaufen aller Parameter bei jedem Aufruf zu vermeiden
var getURLParam = (function() {
var paramStr = decodeURIComponent(window.location.search).substring(1);
var paramSegs = paramStr.split('&');
var params = [];
for(var i = 0; i < paramSegs.length; i++) {
var paramSeg = paramSegs[i].split('=');
params[paramSeg[0]] = paramSeg[1];
}
console.log(params);
return function(key) {
return params[key];
}
})();
Eine weitere Lösung, die jQuery und JSON verwendet, damit Sie auf die Parameterwerte über ein Objekt zugreifen können.
var loc = window.location.href;
var param = {};
if(loc.indexOf('?') > -1)
{
var params = loc.substr(loc.indexOf('?')+1, loc.length).split("&");
var stringJson = "{";
for(var i=0;i
``
Unter der Annahme, dass Ihre URL http://example.com/?search=hello+world&language=en&page=3
lautet.
Danach ist es nur eine Frage der Verwendung der Parameter wie folgt:
param.language
zurückzugeben
en
Die nützlichste Verwendung davon ist, es beim Laden der Seite auszuführen und eine globale Variable zu nutzen, um die Parameter überall dort zu verwenden, wo Sie sie benötigen könnten.
Wenn Ihr Parameter numerische Werte enthält, müssen Sie den Wert einfach parsen.
parseInt(param.page)
Wenn keine Parameter vorhanden sind, ist param
einfach ein leeres Objekt.
``
var RequestQuerystring;
(window.onpopstate = function () {
var match,
pl = /\+/g, // Regex for replacing addition symbol with a space
search = /([^&=]+)=?([^&]*)/g,
decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); },
query = window.location.search.substring(1);
RequestQuerystring = {};
while (match = search.exec(query))
RequestQuerystring[decode(match[1])] = decode(match[2]);
})();
RequestQuerystring ist jetzt ein Objekt mit allen Parametern
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.