2010-10-05 23 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); 
    } 
} 

मैं exeSuccess विधि के अंदर बॉक्स वस्तु नहीं मिल रहा है में संदर्भ पारित करने के लिए। ExeSuccess विधि के अंदर बॉक्स ऑब्जेक्ट को कैसे पास करें?कैसे jQuery ajax सफलता कॉलबैक फ़ंक्शन

उत्तर

76

context option उपयोग, इस तरह:

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

संदर्भ विकल्प किस संदर्भ कॉलबैक के साथ कहा जाता है निर्धारित करता है ... तो यह निर्धारित करता है कि क्या this कि समारोह के अंदर को दर्शाता है।

+3

बेहद खेद है। दृष्टि से jQuery दस्तावेज पर। यहां स्पष्ट रूप से उल्लेख किया गया है http://api.jquery.com/jQuery.ajax/ – rajakvk

+4

शायद स्पष्ट रूप से उल्लेख किया गया है, लेकिन इसका उपयोग करने के तरीके के बारे में इतना स्पष्ट नहीं है। निक का उदाहरण बहुत उपयोगी है। यह पोस्ट और भी विस्तार में जाता है: http://stackoverflow.com/questions/5097191/ajax-context- विकल्प –

संबंधित मुद्दे