Newbie Hilfe - Ajax

Ein CMSimple Support Forum für deutsch sprechende Nutzer und Entwickler
Post Reply
rbender
Posts: 4
Joined: Mon May 11, 2015 8:48 am

Newbie Hilfe - Ajax

Post by rbender » Sat Jul 03, 2021 9:54 am

Moin,

bin nicht so ganz mit Erfahrung beschlagen und suche etwas Hilfe.

Ich möchte auf meiner Seite das Ergebnis eines PHP Requests einbauen. Gelesen habe ich bisher das dies mit AJAX zu lösen wäre. Ich weiß aber nicht wie und wo.
In der Template-Datei habe ich diese kopierte Function hinterlegt, in der Hoffnung das dies schon der richtige Ansatz ist:

Code: Select all

<script>
function loadRainNext2hours() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      document.getElementById("demo").innerHTML =
      this.responseText;
    }
  };
  xhttp.open("GET", "https://morgenwirdes.de/api/v2/rtxt.php?plz=57234", true);
  xhttp.send();
}
</script>
Wie bekomme ich jetzt das Ergebnis dessen an eine bestimmte Position meiner Seite?

Bisher habe ich in der Seite direkt versucht irgendwie die Funktion aufzurufen. Aber meist war nach dem Speichern der entsprechende Source wieder weg oder er wurde als normaler Text angezeigt.

Danke vorab für etwaige Hilfe
Ralf

cmb
Posts: 14225
Joined: Tue Jun 21, 2011 11:04 am
Location: Bingen, RLP, DE
Contact:

Re: Newbie Hilfe - Ajax

Post by cmb » Sat Jul 03, 2021 11:54 am

Cross-Origin-Requests per AJAX sind immer etwas problematisch. Eine weniger problematische Lösung wäre die Einbindung per IFrame, etwa

Code: Select all

<iframe src="https://morgenwirdes.de/api/v2/rtxt.php?plz=57234"></iframe>
Oder die Resource per PHP abrufen, und gleich mit der Seite ausliefern; evtl. per https://olaf.penschke.net/?CMSimple_XH/ ... content_XH.
Christoph M. Becker – Plugins for CMSimple_XH

rbender
Posts: 4
Joined: Mon May 11, 2015 8:48 am

Re: Newbie Hilfe - Ajax

Post by rbender » Sat Jul 03, 2021 3:09 pm

Besten Dank!
Mit der iframe Variante bin ich schon zufrieden. Mit ein paar Attributen passt das dann schon.

Post Reply