Hier ist der AngularJS Quellcode zum Parsen von URL-Abfrageparametern in ein Objekt:
function tryDecodeURIComponent(value) {
try {
return decodeURIComponent(value);
} catch (e) {
// Ignoriere jedes ungültige URI-Komponente
}
}
function isDefined(value) {return typeof value !== 'undefined';}
function parseKeyValue(keyValue) {
keyValue = keyValue.replace(/^\?/, '');
var obj = {}, key_value, key;
var iter = (keyValue || "").split('&');
for (var i=0; i
`Sie können diese Funktion zu
window.location` hinzufügen:
window.location.query = function query(arg){
q = parseKeyValue(this.search);
if (!isDefined(arg)) {
return q;
}
if (q.hasOwnProperty(arg)) {
return q[arg];
} else {
return "";
}
}
// Angenommen, Sie haben diese URL:
// http://www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5
console.log(window.location.query())
// Object {a: "1", b: "3", c: "m2-m3-m4-m5"}
console.log(window.location.query('c'))
// "m2-m3-m4-m5"``
9 Stimmen
Bevor Sie eine neue Antwort posten, bedenken Sie bitte, dass es bereits 50+ Antworten auf diese Frage gibt. Stellen Sie bitte sicher, dass Ihre Antwort Informationen enthält, die nicht unter den vorhandenen Antworten zu finden sind.
0 Stimmen
Var url_string = "example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; //window.location.href var url = new URL(url_string); var c = url.searchParams.get("c"); console.log(c);
1 Stimmen
Es ist verrückt, dass eine, was sollte sein, einfache Frage für JS 50+ Antworten erfordert :/