Harlequin: (AJAX) Statuscode manchmal 0, wieso?

Beitrag lesen

Yerf!

Ich bin in Ajax noch nicht so bewandert, um zu erkennen, welchen Bezug das request-Objekt auf das aktuelle Objekt mit this hat, d.h. wie ich es verwenden soll.

Du weist doch dem Request-Objekt per >request.onreadystatechange = updatePage;< einen Event-Handler zu. In dieser Funtion benutzt du die Globale Variable >request.readyState == 4< um auf das request-Objekt zuzugreifen und den Status abzufragen.

Stattdessen kannst du aber auch >this.readyState == 4< benutzen, da bei Event-Handlern this üblicherweise auf das betreffende Objekt zeigt (in deinem Beispiel wäre damit >this< und >request< identisch).

Die Variante über >this< hat nun den Vorteil, dass die globale Variable entfallen kann und jeder Eventhandler automatisch "sein" Objekt abfrägt, egal wiviele Instanzen des Request-Objektes du nun erzeugt hast.

Somit kannst du nun für jeden Request ein neues Objekt erzeugen und gehst Problemen mit noch nicht abgeschlossenen Requests aus dem Weg.

Gruß,

Harlequin

--
<!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->