Ich mache einige Ajax-Aufrufe von innerhalb eines Javascript-Objekts.:
%Vor%Innerhalb der Funktion onreadystatechange bezieht sich dies nicht mehr auf das Hauptobjekt, so dass ich keinen Zugriff auf this.foo habe. Kann ich den Verweis auf das Hauptobjekt in XMLHttpRequest-Ereignissen behalten?
Der einfachste Ansatz besteht normalerweise darin, den Wert von this
für eine lokale Variable zu speichern:
Ich vermute auch, dass Ihr myObject
Bezeichner wirklich eine Konstruktorfunktion ist (Sie sind es) Zuweisen einer prototype
-Eigenschaft).
Wenn das der Fall ist, vergessen Sie nicht, die richtige Eigenschaft constructor
einzuschließen (da Sie die gesamte prototype
ersetzen), die einfach eine Referenz an den Konstruktor ist.
Vielleicht nicht zu diesem Thema, aber zu lesen empfohlen:
Eine andere einfache Lösung besteht darin, Ihre onreadystatechange-Funktion daran zu binden. bind
-ing die Funktion tut im Wesentlichen die gleiche Sache wie in der Antwort von CMS (das heißt, den Wert zum Abschluss hinzufügen), aber bind
macht es auf eine transparente Art und Weise: Sie verwenden this
anstatt einen% zu setzen co_de% Variable.
Hier ist eine instance
Implementierung, wenn Ihre Codebasis keine enthält:
Und so können Sie es in Ihrem Code verwenden:
%Vor%Tags und Links javascript ajax