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
?Beste Lösung hier.
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = window.location.search.substring(1),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
}
}
return false;
};
Und so verwenden Sie diese Funktion vorausgesetzt, dass die URL wie folgt lautet,
http://dummy.com/?technology=jquery&blog=jquerybyexample
.
var tech = getUrlParameter('technology');
var blog = getUrlParameter('blog');
Lösung aus 2023
Wir haben: http://example.com?sent=yes
let searchParams = new URLSearchParams(window.location.search)
Gibt es sent existieren?
searchParams.has('sent') // true
Ist es gleich zu "yes"?
let param = searchParams.get('sent')
und dann einfach vergleichen.
Zuletzt, wenn Sie mehrere Einträge für denselben Parameter haben (wie ?id=1&id=2), können Sie verwenden
let param = searchParams.getAll('id')
und es wird eine Liste von Werten zurückgeben.
JQuery-Code-Schnipsel, um die dynamischen Variablen, die als Parameter in der URL gespeichert sind, zu erhalten und als JavaScript-Variablen zu speichern, die bereit sind, mit Ihren Skripten verwendet zu werden:
$.urlParam = function(name){
var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
if (results==null) {
return null;
}
return decodeURI(results[1]) || 0;
}
Beispiel.com?param1=name¶m2=&id=6
$.urlParam('param1'); // name
$.urlParam('id'); // 6
$.urlParam('param2'); // null
Beispiel-Parameter mit Leerzeichen
http://www.jquery4u.com?city=Gold Coast
console.log($.urlParam('city'));
//output: Gold%20Coast
console.log(decodeURIComponent($.urlParam('city'));
//output: Gold Coast
Ich klebe das immer als eine Zeile zusammen. Jetzt hat params die Variablen:
params={};location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(s,k,v){params[k]=v})
mehrere Zeilen:
var params={};
window.location.search
.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(str,key,value) {
params[key] = value;
}
);
als eine Funktion
function getSearchParams(k){
var p={};
location.search.replace(/[?&]+([^=&]+)=([^&]*)/gi,function(s,k,v){p[k]=v})
return k?p[k]:p;
}
die du benutzen könntest als:
getSearchParams() //gibt {key1:val1, key2:val2} zurück
oder
getSearchParams("key1") //gibt val1 zurück
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.