bleicher: readyState bleibt 1?

Grüße,
ich stehe nun wieder vor einem Brett ;)

der code hier schient zu funktionieren - der erwartet text wird vom server empfangen, aber es wird nichts ausgelöst - readyState bleibt bei 1 ;/

ich könnte die funktion bei 1 ablaufen lassen, aber 1 heißt eigentlich "wird geladen" oder?

das ist JS:

  
AJAX.newbox=function(){  
	if(AJAX.n.readyState==4){  
	alert("newid!");  
			  
		}  
}  
  
AJAX.neu=function(b){  
	AJAX.n=new XMLHttpRequest();  
		var url="ajax.php?neu=1";  
  
		AJAX.n.open("GET", url, true);		  
		AJAX.n.setRequestHeader("Content-Type","text/plain");  
		AJAX.n.onreadystatechange = AJAX.newbox();  
		AJAX.n.send(null);  
}  

das ist konterpart in PHP:

  
if(isset($_GET['neu'])){  
	echo "test ok";  
exit;  
}  

P.S: nebenbei - ist es möglich die funktionen in JS so zu deklarieren, dass sie voneinander "wissen" - in c kan man die deklarationen vor den rümpfen verwenden, gibt es in JS?
MFG
bleicher

--
__________________________-

FirefoxMyth
  1. Hi,

      AJAX.n.onreadystatechange = AJAX.newbox();  
    

    Was machen die Klammern am Ende noch gleich ...?

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    1. Grüße,

      Was machen die Klammern am Ende noch gleich ...?

      danke - das hats gelöst^^

      darf ich noch fragen :
      1)warum eigtl? ich dachte leere klammern bewirken nichts?
      und gleich 2 um thread zu sparen -
      2)kann man in der Funktion A Funktion B aufrufen die im Text weiter unten ist? ich habe 2 ausgelagerte js - und ich habe aus dem die Funktionen teilweise kreuzweise aufzurufen ;/ geht das?

      MFG
      bleicher

      --
      __________________________-

      FirefoxMyth
      1. Hi,

        1)warum eigtl? ich dachte leere klammern bewirken nichts?

        location.reload() bewirkt also nichts?

        2)kann man in der Funktion A Funktion B aufrufen die im Text weiter unten ist?

        Ja.

        ich habe 2 ausgelagerte js

        Dann kennt das erste die Funktionen des zweiten erst dann, wenn das zweite geladen wurde.

        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
        1. Grüße,| Hi,

          1)warum eigtl? ich dachte leere klammern bewirken nichts?

          location.reload() bewirkt also nichts?

          ich meinte - ich dachte dass die schreiebweise ohne klammern, klammern erlauben würde, die syntax wird leider so nirgends erklärt ;/ was bedeutet es dann eigtl?

          Dann kennt das erste die Funktionen des zweiten erst dann, wenn das zweite geladen wurde.

          d.h. er reicht wenn ich das ausführen verzögere, bis alles fertiggeladen wurde?

          MFG
          bleicher

          --
          __________________________-

          FirefoxMyth
          1. Hallo,

            ich meinte - ich dachte dass die schreiebweise ohne klammern, klammern erlauben würde, die syntax wird leider so nirgends erklärt ;/ was bedeutet es dann eigtl?

            betrachte zwei Beispielfälle:

            function foo() { return (1); }
              var a = foo();
              var b = foo;

            Hier wird einmal die Funktion foo aufgerufen und das *Funktionsergebnis* an a zugewiesen. Dann wird eine Referenz auf die Funktion selbst an b zugewiesen, ohne die Funktion auszuführen. Im weiteren kann b so verwendet werden, als sei es die Funktion foo selbst. Ein Aufruf in der Form
              var c = b();
            würde also funktionieren - b repräsentiert die Funktion foo an sich, und die Klammern stehen für den Aufruf der Funktion, während a nur eine reine Zahl enthält - nämlich die 1, die von foo zurückgegeben wurde.

            Ciao,
             Martin

            --
            "Gestern habe ich die Rede des Parteivorsitzenden gehört. Zwei Stunden lang!" - "Worüber?" - "Hat er nicht gesagt."