Ergebnis 1 bis 7 von 7
  1. #1
    Tomas ist offline Foren As
    registriert
    03-12-2005
    Beiträge
    76

    AJAX: return responseText ?

    Hallo,

    ich habe folgenden Codeschnipsel hier:
    Code:
    function getconf(datei) {
    if (window.XMLHttpRequest) { http_request = new XMLHttpRequest(); }
    http_request.onreadystatechange = getconf_get;
    http_request.open("GET", 'system/getconf.php?datei=' + datei, true);
    http_request.send(null);
    }
    function getconf_get() {
    if (http_request.readyState == 4 && http_request.status == 200)
    return http_request.responseText;
    }
    function Hintergrundfarbe() {
    document.body.backgroundColor = getconf('hintergrundfarbe');
    }
    Ich denke, was ich bezwecken will erklärt sich fast von selbst:
    Mit der getconf()-Funktion greift AJAX auf eine php-datei zu, die einen Konfigurationswert ausliest und zurückgibt. Diesen Wert möchte ich gerne per return von getconf() geliefert bekommen. Im Falle von 'hintergrundfarbe' wäre dies beispielsweise '#000000'.

    Im Code oben krieg ich die Antwort ja nur von getconf_get(); und nicht von der zuerst aufgerufenen Funktion. Wer weiß, wie ich das realisieren kann?

    Danke,
    Tomas

  2. #2
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: AJAX: return responseText ?

    AJAX heißt AJAX, weil es asynchron ausgeführt wird. Du willst synchron.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  3. #3
    Tomas ist offline Foren As
    registriert
    03-12-2005
    Beiträge
    76

    AW: AJAX: return responseText ?

    Geht also garnicht mit AJAX.

    Gibt es dann eine elegantere Lösung als die phpdatei in ein unsichtbares iframe zu laden und dann den innerHTML auszulesen und damit dann ein return durch zuführen?

    Tomas

  4. #4
    Avatar von Albu
    Albu ist offline Super Moderator
    registriert
    04-07-2001
    Beiträge
    13.501

    AW: AJAX: return responseText ?

    Zitat Zitat von Tomas Beitrag anzeigen
    Gibt es dann eine elegantere Lösung als die phpdatei in ein unsichtbares iframe zu laden und dann den innerHTML auszulesen und damit dann ein return durch zuführen?
    Lernen, wie man AJAX richtig einsetzt, würde mir da so spontan einfallen.
    1. Get people to play Space Taxi
    2. Sell real estates on neptun
    3. Profit!

    IE is not a browser, it is a scream.


    Outside of a dog, a book is man's best friend. Inside of a dog, it's too dark to read.

  5. #5
    yanu ist offline Mitglied
    registriert
    18-05-2008
    Beiträge
    31

    AW: AJAX: return responseText ?

    Um das mit der Farbe zu Realisieren könntest du folgendes machen:

    Code:
    function getconf(datei) {
    if (window.XMLHttpRequest) { http_request = new XMLHttpRequest(); }
    http_request.onreadystatechange = getconf_get;
    http_request.open("GET", 'system/getconf.php?datei=' + datei, true);
    http_request.send(null);
    }
    function getconf_get() {
    if (http_request.readyState == 4 && http_request.status == 200)
    document.body.backgroundColor = http_request.responseText;
    }
    Allerdings weiss ich nicht was dir das bringt?

  6. #6
    cybaer ist offline Kaiser
    registriert
    12-09-2006
    Beiträge
    1.338

    AW: AJAX: return responseText ?

    Zitat Zitat von Tomas Beitrag anzeigen
    Geht also garnicht mit AJAX.
    Doch, natürlich.

    Aber Ajax arbeitet, wie der Name schon sagt, asynchron und mit XML - und so wird das Ajax zugrundeliegende XMLHttpRequest() halt in Ajax-Beispielen i.d.R. verwendet.

    XMLHttpRequest() selbst kann aber auch einfachen Text holen (das machst Du) und den sogar synchron (Script wartet auf den Text). Einfach mal in der Doku nachschlagen ...
    Gruß, Cybaer

  7. #7
    Tomas ist offline Foren As
    registriert
    03-12-2005
    Beiträge
    76

    AW: AJAX: return responseText ?

    @yanu:
    Nunja, das mit der Farbe ist nur ein Beispiel. Ich bräucht die Funktion ja für volkommen verschiedene Fälle.

    @Albu/cybaer:
    Dass XMLHttpRequest() auch so funktioniert wusst ich nicht, meine AJAX-Kentnisse bauen auch nur auf veränderten Scripten aus irgendwelchen Online-Archiven auf. xD Ich werd mich wohl mal näher damit beschäftigen.

    Danke,
    Tomas

Ähnliche Themen

  1. Internet Explorer stellt kein Flash dar
    Von MajPay im Forum Flash
    Antworten: 16
    Letzter Beitrag: 25-12-2010, 19:30
  2. Antworten: 7
    Letzter Beitrag: 02-09-2008, 15:43
  3. Antworten: 7
    Letzter Beitrag: 04-09-2007, 14:15
  4. Antworten: 18
    Letzter Beitrag: 08-06-2007, 22:43
  5. Antworten: 9
    Letzter Beitrag: 17-06-2002, 13:16

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •