Je suis nouveau en JavaScript. Nouveau dans la mesure où tout ce que j'ai vraiment fait avec, c'est peaufiner le code existant et écrire de petits morceaux de jQuery.
Maintenant, j'essaie d'écrire une "classe" avec des attributs et des méthodes, mais j'ai des problèmes avec les méthodes. Mon code :
function Request(destination, stay_open) {
this.state = "ready";
this.xhr = null;
this.destination = destination;
this.stay_open = stay_open;
this.open = function(data) {
this.xhr = $.ajax({
url: destination,
success: this.handle_response,
error: this.handle_failure,
timeout: 100000000,
data: data,
dataType: 'json',
});
};
/* snip... */
}
Request.prototype.start = function() {
if( this.stay_open == true ) {
this.open({msg: 'listen'});
} else {
}
};
//all console.log's omitted
Le problème est que, dans Request.prototype.start
, this
n'est pas défini et donc l'instruction if est évaluée à false. Qu'est-ce que je fais de mal ici ?