50 votes

Comment passer le contexte dans la fonction de rappel de réussite jquery ajax

 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);
    }
}
 

Je ne reçois pas d'objet Box dans la méthode exeSuccess. Comment passer un objet Box dans la méthode exeSuccess?

Merci d'avance.

78voto

Nick Craver Points 313913

Utilisez l' option context , comme ceci:

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

L'option contextuelle détermine le contexte avec lequel le rappel est appelé ... il détermine donc à quoi this fait référence à l'intérieur de cette fonction.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X