2010-10-05 11 views
47
var Box = function(){ 
    this.parm = {name:"rajakvk",year:2010}; 
    Box.prototype.jspCall = function() { 
     $.ajax({ 
      type: "post", 
      url: "some url", 
      success: this.exeSuccess, 
      error: this.exeError, 
      complete: this.exeComplete 
     }); 
    } 
    this.exeSuccess = function(){ 
     alert(this.parm.name); 
    } 
} 

Ich bekomme nicht Box-Objekt innerhalb der Methode exeSuccess. Wie übergeben Sie das Box-Objekt in der exeSuccess-Methode?Wie den Kontext in jquery Ajax Erfolg Callback-Funktion übergeben

Antwort

76

Verwenden Sie die context option, wie folgt aus:

$.ajax({ 
     context: this, 
     type: "post", 
     url: "some url", 
     success: this.exeSuccess, 
     error: this.exeError, 
     complete: this.exeComplete 
    }); 

Der Kontext Option legt fest, was Kontext der Rückruf mit ... aufgerufen wird, so bestimmt es, was this bezeichnet innerhalb dieser Funktion.

+3

Sehr leid. Übersichtige jQuery-Dokumentation. Es wird hier eindeutig erwähnt http://api.jquery.com/jQuery.ajax/ – rajakvk

+4

Vielleicht klar erwähnt, aber nicht so klar, wie man es benutzt. Nicks Beispiel ist sehr hilfreich. Dieser Beitrag geht noch detaillierter: http://stackoverflow.com/questions/5097191/ajax-context-option –

Verwandte Themen