Salut a tous,

Je me heurte à un petit problème dont je ne vois vraiment pas la raison ni la solution.

J'ai un objet, mettons comme ca :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
var asso_book_datatables = {
 
	'datatable': function() { return 'lala'; }
 
	'delete_entry': function() {
		alert(this.datatable());
	}
};

J'ai ma requete ajax comme ca :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
var callback = asso_book_datatables.delete_entry;
$.ajax({
	type:     'POST',
	success:  function(data) {
		callback();
	}
});
L'idée est relativement simple : je fais un appel ajax en passant ma première fonction en callback, mon callback étant appelé lors du success de la requete.

Et bien ca ne marche pas ! L'erreur est "Uncaught TypeError: Object [object DOMWindow] has no method 'datatable'". Effectivement, si depuis ma méthode delete_entry (qui est bien exécutée) j'affiche this, eh bien JS me dit que c'est un objet de type... DOM Window ?? Alors que ca devrait être mon objet asso_book_datatables...

Et, si dans mon appel ajax je remplace callback() par asso_book_datatable.delete_entry(), alors ca marche sans problème !

La question c'est donc : pourquoi est-ce que JS ne veut pas utiliser ma variable callback pour exécuter la méthode de mon objet ? D'où vient ce DOM Windows au milieu de _mon_ objet ? Sachant qu'à d'autres endroits de mon code j'ai ce genre d'appel qui marche très bien.

Merci !