2016-07-25 20 views
0

Ich arbeite an einer Django-Website, wo wir eine Suchfunktion haben, in der Sie die Version, Server und Benutzer auswählen können und relevante Ergebnisse angezeigt werden. Wir implementieren jetzt eine Freigabe-Schaltfläche, damit Sie zu diesen Suchergebnissen zurückkehren können. Ich habe zuerst die Seite mit Variablen getestet, die ich selbst gesetzt habe, nur um zu sehen, ob die Ergebnistabelle geladen würde, und das hat gut funktioniert. Jetzt versuche ich eine JS-Funktion zu verwenden, um die URL-Parameter zu erfassen und Ergebnisse basierend auf diesen anzuzeigen (der ganze Punkt).Javascript URL Parameter Capture funktioniert nicht richtig

Dies ist die JS-Funktion verwende ich:

function getQueryVariable(variable){ 
     var query = window.location.search.substring(1); 
     var vars = query.split("&"); 
     for (var i=0;i<vars.length;i++) { 
       var pair = vars[i].split("="); 
       if(pair[0] == variable){return pair[1];} 
     } 
     return(false); 
    } 

ich die Funktion Online getestet haben und es gibt den richtigen Informationen, die ich will. Jedoch auf der Seite, wo es die Tabellen laden sollte, bleibt es beim Laden für immer hängen. Bei Verwendung von voreingestellten Variablen funktioniert es einwandfrei. Ich muss den Unterschied zwischen diesen und was diese Funktion zurückgibt, finden. Diese

ist, wie ich getestet Funktionalität:

var version = "01.002.157.01.00.00.18823"; 
    var server = "balinor"; 
    var user = "jenkins"; 

Wenn meine Funktion Online-Prüfung, es gibt genau diese Werte so dass ich nicht sicher bin, wo ist der Unterschied! Jede Hilfe wäre willkommen.

+0

Nur für den Fall, dass Sie nicht wissen, könnten Sie 'console.log()' verwenden, um Variablenwerte für das Debugging in Javascript zu drucken. –

+0

Es sind die einfachsten Dinge, die helfen und ich denke nicht daran, wenn ich feststecke! Es stellte sich heraus, dass sie alle falsch zurückkehrten. Ich habe window.location.search ... in window.location.href geändert und es funktioniert. Danke für den hilfreichen Tipp! – ChickaWapow

+0

Wissenswertes: Für Chrome können Sie auch '.debugger;' verwenden, um die JS-Verarbeitung sofort zu stoppen und Ihnen den Wert aller aktuellen Variablen zu geben. Super praktisch zum schnellen Debuggen. –

Antwort

0

Das Problem war mit window.location.searchstring (1); Es wurde nicht der Teil der URL zurückgegeben, die ich wollte. Ich habe gerade window.location.href verwendet und das Parsen der URL funktionierte perfekt!

Was mir geholfen hat, dieses Problem zu lösen, war console.log zu verwenden, um zu sehen, dass die Variablen tatsächlich nicht das sind, was ich dachte. Danke an Shang Wang dafür. Die Lösung Ihrer Probleme ist normalerweise einfacher als Sie denken!

Verwandte Themen