Forum: PC-Programmierung html / java, variable aus URL auslesen und verarbeiten


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Daniel D. (Gast)


Lesenswert?

Hallo,

ich versuche gerade aus einer URL

http://127.0.0.1:8000/?question=solved

Die Variable auszulesen und weiter zu verarbeiten.
1
<script>
2
function myFunction() {
3
    var myParam = location.search.split('question=')[1]
4
    document.getElementById("myText").innerHTML = myParam;
5
}
6
</script>
7
8
<body onload="myFunction()">
9
10
<span id="myText"></span>

Wie bekomme ich das jetzt so hin, dass ich damit weiterarbeiten kann?
1
{% if myText == 'solved'%}
2
<p> ja, bereits erledigt</p>
3
{% else %}
4
<p> noch nicht erledigt</p>
5
{% endif %}

von Weinbauer (Gast)


Lesenswert?


von codein (Gast)


Lesenswert?

Ich sehe zwar Text mit Auszeichnungen welche irgendwie nach HTML 
riechen,
aber nirgends sehe ich Java Code...

von Thorben R. (camyono)


Lesenswert?

Du hast ja bereits eine Möglichkeit gefunden:
1
<script>
2
function myFunction() {
3
    var myParam = location.search.split('question=')[1]
4
    document.getElementById("myText").innerHTML = myParam;
5
}
6
</script>
7
8
<body onload="myFunction()">
9
10
<span id="myText"></span>

Nur in diesem Fall möchtest du ja nicht myText abfragen, sondern myParam 
und den Textwert vom p-Tag setzen:
1
  if (myParam == "solved") {
2
    document.getElementById("PElementWithResult").innerHTML = "ja, bereits erledigt";
3
  } else {
4
    document.getElementById("PElementWithResult").innerHTML = "noch nicht erledigt";
5
  }

Ich hoffe ich habe Dich richtig verstanden. Deine Frage hat übrigens 
nichts mit Java zu tun.

von DPA (Gast)


Lesenswert?

Ich mache gerne solche Dinge:
1
Object.defineProperty(Location.prototype, "get", {
2
  get(){
3
    var result = {};
4
    Object.setPrototypeOf(result, null);
5
    this.search.substr(1).split('&').map(x=>{
6
      var r = x.match(/^([^=]*)(=(.*))?$/);
7
      return [r[1], r[3]].map(x=>x!==undefined?decodeURIComponent(x):null);
8
    }).reduce( (o,[k,v]) => (o[k]=v,o), result );
9
    Object.seal(result);
10
    Object.freeze(result);
11
    return result;
12
  },
13
  configurable: false,
14
  enuimerable: true
15
});
Danach kann man folgendes tun:
1
alert(location.get.question);

Das behandelt zwar Parameter wie z.B. "?a[]=1&a[]=2" noch nicht, ist 
aber trotzdem ganz Praktisch.

Welche Templateingsprache ist das {% %} zeug eigentlich? Dir Client Side 
JavaScript wird die bei Serverseitigen Templateengines nicht 
weiterhelfen.

von DPA (Gast)


Lesenswert?

Edit: sollte "configurable: true" und "enumerable" stat "enuimerable" 
sein, zu schnell gesendet.

von Frank L. (Firma: Flk Consulting UG) (flk)


Lesenswert?

// RegEx: http://stackoverflow.com/a/1404100/451634
1
function getURLParameter(name) {
2
  var value = decodeURIComponent((RegExp(name + '=' + '(.+?)(&|$)').exec(location.search) || [, ""])[1]);
3
  return (value !== 'null') ? value : "";
4
}

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.