Bonjour,

Le problème rencontré : Lorsque je charge les données d'un store dans un formulaire alors que ma session est terminé, je ne suis pas redirigé sur l'écran d'accueil.

Explication :
J'ai un arbre (TreePanel) rempli à l'aide d'un store. Lorsque je clique sur un noeud, j'affiche les données de ce noeud, retournées au format JSON, dans un formulaire de la façon suivante

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Ext.getCmp('contentPanel').layout.activeItem.getForm().load({
	url: 'index.php',
	params: {
		task	: typeNode + '.getInfos',
		data	: node.id
	},
	scope : this,
	success : function(form, action){
		form.owner.items.items.each(function(f) { Ext.getCmp(f.id).setDisabled(disabled); });
		var path = (action.result.data.path != null) ? action.result.data.path : '';    					
		Ext.getCmp('contentPanel').setTitle(title + path + node.code);
		module_contracts.app.getController(typeNode).setForm(action.result.data);
	}
});
Jusqu'ici tout fonctionne très bien.

Maintenant, je teste la chose suivante :
-> Je me connecte à partir d'une instance I1 avec le user U1, je clique sur mes différents noeuds pour afficher mes infos dans mon formulaire.
-> Je me connecte à partir d'une instance I2 avec le même user U1. Je déconnecte alors le user U1. Sa session est donc expirée / terminée.
-> Dans mon instance I1, je clique sur un noeud de mon arbre de façon à afficher les infos.
-> Je m'attends à être redirigé sur la page d'accueil. Au lieu de ça, dans ma console de debug, j'obtiens l'erreur suivante :
Ext.Error: You are trying to decode an invalid JSON String: <suivi du code HTML de ma page daccueil> (page sur laquelle je mattends à être redirigé)
Questions / Solutions
Pour l'instant, pour pallier ce problème, j'intercepte l'erreur dans mon controller, et je redirige sur ma page d'acceuil de la façon suivante
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
init: function(){
	Ext.Error.handle = function(err){
		location.href = location.origin + location.pathname;
    		return true;
    	}
}
Est-ce la/une bonne méthode ? Y a t-il possibilité d'avoir les détails de l'erreur (status, code retour, etc...) ?
Utilisant le "form.load()", je pensais que tout cela se passait dans le success / failure. Mais l'appel PHP dans ma requête Ajax n'est même pas fait (la fonction getInfos() de mon controller PHP n'est même pas appelé).

Que me conseillez vous ?

Merci d'avance