2016-07-28 24 views
-1

Link: http://yaezde.localhost/machen/mach-den-impfcheck/question=2Wie bekomme ich den Wert aus Parameter aus der URL-Zeichenfolge?

ich weiß, wie man die gesamte URL mit window.location.href; aber danach möchte ich wissen, was die Regex sein wird, um den Parameter parameter zu bekommen.

Antwort: var question = 2

Ich habe versucht, diese code..but nicht für mein Szenario arbeiten

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, " ")); 
} 

var foo = getParameterByName('question'); 
+0

Funktion getParameterByName (Name, URL) { if (! Url) url = window.location.href; name = name.replace (/ [\ [\]]/g, "\\ $ &"); var regex = neue RegExp (" [? &] "+ Name +" (= ([^ & #] *) | & | # | $) "), results = regex.exec (url); wenn (! Result) null liefert; if (! Result [2]) return ''; return decodeURIComponent (result [2]. ersetze (/ \ +/g, "")); } –

+0

aber funktioniert nicht –

+0

jetzt kannst du sehen –

Antwort

0

Es gibt einige Probleme in Ihrem Code.

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

var url='http://yaezde.localhost/machen/mach-den-impfcheck/question=2' 
var foo = getParameterByName('question', url);//include url in arguments or it will be undefined in the function 
console.log(foo); 

//Another way to access url in the function scope 
function getParameterByName(name){ 
    //get url from global scope if exists 
    var url = url || window.location.href; 
    //other things 
}