Frank11: AJAX-Funktion und JS-Anzeigefunktion trennen

Hallo Leute,
ich habe zwei Funktion geschrieben:
Die erste ist eine AJAX-Funktion die einen Text aus der DB ausliest:

function getNews(){  
             var http = null;  
             if (window.XMLHttpRequest) {  
                     http = new XMLHttpRequest();  
             }  
             else if (window.ActiveXObject) {  
                     http = new ActiveXObject("Microsoft.XMLHTTP");  
             }  
             function ausgeben() {  
                     if (http.readyState == 4) {  
                                if(http.responseText != false)  
      return http.responseText;  
                     }  
             }  
             if (http != null) {  
                     http.open("GET", "shortNews.php", false);  
                     http.onreadystatechange = ausgeben;  
                     http.send(null);  
             }  
}

Die zweite ist eine Anzeigefunktion:

function show(element){  
            alert(getNews());  
}

Die Funktion show ruft also getNews auf, was auch alles funktioniert.
Der Server wird angefragt und als Antwort bekomme ich auch den Text (hab das mit alert überprüft) den ich haben will.
Aber in der Anzeigefunktion show() bekomme ich nur "undefined" und nicht den erwünschten Text.

Hat dafür jemand eine Idee, wie man das lösen könnte?

Über eine Antwort würde ich mich freuen

  1. Mahlzeit Frank11,

    Die erste ist eine AJAX-Funktion die einen Text aus der DB ausliest:
    [code lang=javascript]function getNews(){
                 function ausgeben() {

    Eine Funktion in einer Funktion? Ob das so eine gute Idee ist? Ob das so gewollt ist?

    "Das glaube ich nicht, Tim ..."

    Hat dafür jemand eine Idee, wie man das lösen könnte?

    Ja: richtigen Code schreiben. ;-)

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
  2. Hi,

    Aber in der Anzeigefunktion show() bekomme ich nur "undefined" und nicht den erwünschten Text.

    wofür steht das erste "A" in "AJAX", und was bedeutet dies? Schreibe mindestens 100 Wörter.

    Hat dafür jemand eine Idee, wie man das lösen könnte?

    Entweder auf SJAX (bzw. vermutlich SJAH) umsteigen, oder aber eventgetrieben arbeiten wie alle anderen auch. Beachte zudem EKKis Einwand.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes