Pascal: Aktualisierung mit Ajax

Hallo,

es geht um folgendes: Ich möchte für ein Radio den aktuellen Titel mit Interpret anzeigen und sich automatisch aktualisieren lassen. Titel und Interpret werden von einer Software in eine Tabelle in einer MySQL-Db geladen. Diese rufe ich mit php ab. Mein Problem ist allerdings noch, dass ich die Seite bisher neu laden muss. Meine bisherige Lösung sieht folgendermaßen aus:

  
    var request = false;  
    var aktiv = window.setInterval("setRequest()", 1000);  
  
          function setRequest() {  
                  if (window.XMLHttpRequest) {  
                          request = new XMLHttpRequest();  
                  } else if (window.ActiveXObject) {  
                          try {  
                                  request = new ActiveXObject('Msxml2.XMLHTTP');  
                          } catch (e) {  
                                  try {  
                                          request = new ActiveXObject('Microsoft.XMLHTTP');  
                                  } catch (e) {}  
                          }  
                  }  
  
                  if (request) {  
                          var url = "http://www.abc.de/fg.php";  
                          request.open('post', url, true);  
                          request.send(null);  
                          request.onreadystatechange = interpretRequest;  
                  }  
          }  
  
          function interpretRequest() {  
                  switch (request.readyState) {  
                          case 4:  
                                  if (request.status == 200) {  
                                          var content = request.responseText;  
                                          document.getElementById('radio_text').innerHTML = content;  
                                  }  
                                  break;  
                          default:  
                                  break;  
                  }  
          }  

  
<div id="radio_text"></div>  

Da die Lösung mit dem zweiten php-Dokument für mein Vorhaben aber ziemlich sinnlos ist, möchte ich direkt in der Seite, in der die Daten abgerufen werden, die Aktualisierung einbauen. Hat da vielleicht jemand den passenden Code zu oder ein Verweis o.ä.?

Danke im Voraus,
Gruß Pasi

  1. moin,

    Da die Lösung mit dem zweiten php-Dokument für mein Vorhaben aber ziemlich sinnlos ist, möchte ich direkt in der Seite, in der die Daten abgerufen werden, die Aktualisierung einbauen. Hat da vielleicht jemand den passenden Code zu oder ein Verweis o.ä.?

    Ja, Warum eine Kontrollstruktur

    Und auch ein Beispiel

    Schönen Sonntag,
    Horst Haselhuhn

    1. Und auch ein Beispiel

      Aber nach wie vor kein gutes, da du die AJAX Funktionen immer noch unkontrolliert ablaufen läßt und für jeden Request ein neues AJAX Objekt erstellst, anstatt es wieder zu verwerten.

      Struppi.

      1. Und auch ein Beispiel

        Aber nach wie vor kein gutes, da du die AJAX Funktionen immer noch unkontrolliert ablaufen läßt und für jeden Request ein neues AJAX Objekt erstellst, anstatt es wieder zu verwerten.

        Ich kann das auf Deiner Seite nicht finden, gib mit maln Link bitte.

        Rolf

        1. Ich kann das auf Deiner Seite nicht finden, gib mit maln Link bitte.

          Was kannst du nicht finden?

          Struppi.

          1. Ich kann das auf Deiner Seite nicht finden, gib mit maln Link bitte.

            Was kannst du nicht finden?

            Du könntest ja Deinen JS-Code mal veröffenlichen, damit ich mir das anschauen bzw. testen kann. Kannst mir auch schicken.

            Viele Grüße,
            Horst Fleischbeschauer

            1. Du könntest ja Deinen JS-Code mal veröffenlichen, damit ich mir das anschauen bzw. testen kann. Kannst mir auch schicken.

              Naja, vom veröffentlichen ist der Code noch weit entfernt. Das Ding sieht bisher so aus: http://javascript.jstruebig.de/test/ajax.js

              Grobe Verwendung:

              var x = Ajax.request();  
                
              x.onerror = function(msg) {  
              	var o = document.getElementById('ajax_status');  
              	o.innerHTML = msg;  
              }  
                
              function doIt(url) {  
              	x.oncomplete = function(res) {  
              		var t = res.response(true);  
              		set('Header:\n' +  x.header());  
              		set(res.response());  
              		var o = document.getElementById('ajax_status');  
              		o.innerHTML = x.status() + '( Zeit: ' + x.time() + 'ms)' + x.size('kb') ;  
              	};  
              	  
              	x.open(url, 'GET', type, ch);  
              }  
                
              function set(txt) {  
              	var obj = document.getElementById('output');  
              	  
              	if(!txt) obj.innerHTML = ''; else  
              	obj.innerHTML += txt;  
              }  
              
              
              <form action="#">  
              <fieldset>  
              <legend>Test</legend>  
              <label>Dateiname: <input value="test.html" name="file"></label>  
              <input type="button" value="send" onclick="doIt(this.form.file.value)">  
              </fieldset>  
                
              <fieldset id="status"><legend>Status:</legend>  
              <div id="output">&nbsp;</div>  
              <div id="ajax_status">&nbsp;</div>  
              </fieldset>  
              </form>  
              
              

              Aber wie gesagt, noch bei weitem nicht fertig.

              Struppi.

              1. Moin,

                Aber wie gesagt, noch bei weitem nicht fertig.

                Egal, isch probieren!!!! Und wehe geht nicht ;-)

                Danker Dir mein Lieber,
                Horst Fettbemme

                --
                Wenn der Kommentar nicht zum Code passt, kann auch der Code falsch sein.