3 Stimmen

JQuery AJAX und OOP JS Umfangsschwierigkeiten

Also, ich habe ein Objekt erstellt, das einen AJAX-Aufruf macht, um seine Eigenschaften während der Initialisierungsphase zu füllen. Ich stoße jedoch auf ein sehr merkwürdiges Verhalten: Ich kann drucken und sehen die Eigenschaft Werte gut innerhalb der $.ajax() Bereich, aber jede öffentliche Methode, die den Wert der Eigenschaften zurückgibt haben einen Rückgabewert von "undefined".

So sieht der JS-Code aus:

function MyFunction() {
   this.myProperty;
   this.init();
}

Myfunction.prototype.getPropertyValue = function () {
    alert(this.myProperty); // returns 'undefined'
}

Myfunction.prototype.init = function () { 
   $.ajax({
      type: 'get',
      url: "getProperty.php",
      dataType: "json",
      success: function(response) {
         this.myProperty = response[0].Property;
         alert(this.myProperty) // returns 'Property Name'
      }
   });
}

Mein Denken ist, dass innerhalb der $.ajax() Bereich, "this" ist eigentlich auf etwas anderes verweisen. Also, meine Frage ist, wie stelle ich sicher, dass "this.myProperty" festgelegt ist und nicht seinen Wert verlieren, sobald wir außerhalb des AJAX-Bereichs erhalten?

Für jede Hilfe sind wir sehr dankbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X