2016-07-03 11 views
0

ich diese URL-Parameter bekommen: mit Hilfe von JavaScript/jQuery in diesem FormatWie URL-Parameter analysieren mit Hilfe von Javascript

/?sku=123456 & name1=NAME1 & value1=VALUE1 & name2=NAME2 & value2=VALUE2 

Ich mag würde sie in HTML drucken:

SKU: 123456  
NAME1 : VALUE1 
NAME2 : VALUE2 
(NAME3 : ...) 

Wie funktioniert ein Schleife für eine variable Anzahl von Namen/Werten arbeiten?

+0

Was Sie ist zu halten? – Schlaus

+1

Verwenden Sie 'split (" & ")' und 'split (" = ")', um dies zu tun. – Mohammad

+1

Mögliches Duplikat von [URL-Parameter jquery abrufen oder Abfrage-String-Werte abrufen in js] (http://stackoverflow.com/questions/19491336/get-url-parameter-jquery-or-how-to-get-query- string-values-in-js) – KevBot

Antwort

1

Sie müssen split() zum Parsen der Zeichenfolge mit & Trennzeichen verwenden. Erster Index des Ergebnisses ist /?sku=123456. Ich habe es in ein Objekt eingefügt und es aus dem Array entfernt. Dann verwendet for zum Iterieren Array-Element und erhalten Wert von jedem Element.

var url = "/?sku=123456 & name1=NAME1 & value1=VALUE1 & name2=NAME2 & value2=VALUE2 "; 
 
var params = url.split("&"); 
 
var data = { 
 
    "SKU": params[0].split("=")[1] 
 
}; 
 
params.splice(0, 1); 
 

 
for (var i = 0; i < params.length; i+=2){ 
 
    if (i % 2 == 0) 
 
     data[params[i].split("=")[1]] = params[i+1].split("=")[1]; 
 
} 
 
console.log(data);

+0

Danke! Was ist, wenn es mehr Namen/Werte gibt? (z.B. Name3, Wert3, Name4, ...) –

+1

Es gibt kein Problem. Testen Sie es in https://jsfiddle.net/ad2zb6gc/ – Mohammad

+0

Alles oben funktioniert, aber wie kann ich die "SKU" entfernen: in Zeile 4? Meine Zeichenfolge enthält bereits "SKU" –

Verwandte Themen