molily: XMLHTTP request Ergebnis in aktuellem Div

Beitrag lesen

Hallo,

<div id="temperatur_anzeige" onload="holeDaten('temperatur','temperatur_anzeige');"></div>

Kleine Anmerkung: Das load-Ereignis passiert nicht bei div-Elementen, sondern dokumentweit beim window-Objekt. Dieser Code in onload wird wahrscheinlich nicht ausgeführt.

Hintergrund siehe:
http://molily.de/js/event-handling-grundlagen.html
http://molily.de/js/event-handling-onload.html

Kann ich das auch so lösen, das die per HTTP Request geholten Daten an Ort und Stelle, unabhängig vom DIV-ID ausgegeben werden

Ja. Wenn du das zentral löst, kannst du das Element einfach an die Funktion übergeben:

// Beim erfolgreichen Einlesen des Dokuments, starte automatisch XHR-Requests:  
document.addEventListener('[link:http://molily.de/js/event-handling-onload.html#domcontentloaded@title=DOMContentLoaded]', function() {  
  // Quelle -> Zielelement  
  ladeDaten('temperatur', document.getElementById('temperatur_anzeige'));  
  ladeDaten('ort',        document.getElementById('ort_anzeige'));  
});  
  
var ladeDaten = function(typ, element) {  
  // Sende XMLHttpRequest  
  var xhr = new XMLHttpRequest();  
  xhr.open('GET', '/current.php?show=' + typ);  
  xhr.onload = function() {  
    // Im Success-Callback wird das Element dann mit der Serverantwort gefüllt.  
    // Das geht z.B. mit innerHTML oder textContent, je nachdem, ob der Server  
    // HTML oder einfachen Text zurückgibt:  
    element.innerHTML = xhr.responseText;  
  };  
  xhr.send();  
};

Das Beispiel ist ungetestet und auf neuere Browser ausgelegt.

Grüße
Mathias