Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Ext JS / Sencha
Ext JS / Sencha Ext JS / Sencha Forum d'entraide sur les frameworks Ext JS et Sencha. Avant de poster : FAQ ExtJS / Sencha, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/05/2011, 11h05   #1
Invité régulier
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 8
Points : 8
Par défaut Modification distante avec Httpproxy

Salut à tous,

J'ai cette fois un petit soucis avec le httpproxy. Je souhaite pouvoir modifier directement un enregistrement. Pour cela j'ai taper le code suivant :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
 
//HTTPProxy contenant la liste de URL du CRUD
		var HTTPProxyProjet = new Ext.data.HttpProxy({
			prettyUrls:false,
			api:{
				create:{url:'./PHP/Ajout/AjoutProjet.php',method:'GET'},
				read:{url:'./PHP/RemplissageGrid/GridProjet.php',method:'GET'},
				update:{url:'./PHP/Modification/ModificationProjet.php',method:'GET'},
				destroy:{url:'./PHP/Suppression/SuppressionProjet.php',method:'GET'}
			}
		});
 
		//Stockage avec utilisation du HTTPProxy
		var stockageProjet = new Ext.data.Store({
			proxy: HTTPProxyProjet,
			autoSave:true,
			paramsAsHash:true,
			//Lecteur des données attendues dans items
			reader : new Ext.data.JsonReader({
				root:'items', 
				fields: ['LibelleProjet','DateDebut','DateFin','ServiceConcerne','Avancement']
			}),
			//Enregisteur
			writer: new Ext.data.JsonWriter({
				encode:true,
				writeAllFields:true
			}),
			//Gestionnaire d'evenement
			listeners:{
				exception:function (dataproxy,type,action,option,response,mix){
					alert("dataproxy : "+dataproxy+"\ntype : "+type+"\naction : "+action+"\noption : "+option+"\nresponse : "+response+"\nmix : "+mix);
					alert(response.responseText);
					}
			}
		});
		stockageProjet.load();
 
		var TempsGrid = new Ext.grid.EditorGridPanel({
			store:stockageProjet,
			//renderTo : 'winFormDiv',
			title:'Projet',
			stripeRows:true,
			autoExpand:true,
			height: 550,
			columnWidth: .100,
			autoExpandColumn:'col_Description',
			cm : new Ext.grid.ColumnModel([
				{header:'Description', dataIndex:'LibelleProjet', sortable:true, id:'col_Description',
					editor : new Ext.form.TextField({
						allowBlank:false,
						maxlength:100
					})
				},
				{header:'Date de début', dataIndex:'DateDebut', sortable:true, id:'col_DateDebut',
					editor : new Ext.form.TextField({
						allowBlank:false,
						maxlength:100
					})
				},
				{header:'Date de fin', dataIndex:'DateFin', sortable:true, id:'col_DateFin',
					editor : new Ext.form.TextField({
						allowBlank:false,
						maxlength:100
					})
				},
				{header:'Service Concerné', dataIndex:'ServiceConcerne', sortable:true, id:'col_ServiceConcerne',
					editor : new Ext.form.TextField({
						allowBlank:false,
						maxlength:100
					})
				},
				{header:'Avancement', dataIndex:'Avancement', sortable:true, id:'col_Avancement',
					editor : new Ext.form.NumberField({
						allowBlank:false,
						maxlength:100
					})
				},
				{header:'Suppression', sortable:true, id:'col_Suppression'}			
			])
		});
Tout est correctement affiché mais lorsque je fais une modif dans ma grid, c'est le create et donc AjoutProjet.php qui est appelé...Je comprend pas trop pourquoi. Si quelqu'un a une idée c'est pas de refus.

Merci à tous
DonMero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/05/2011, 16h56   #2
Invité régulier
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 8
Points : 8
Pour ajouter au mystère, j'ai tester un projet précedement créé et qui fonctionnait correctement...et surprise le HttpProxy ne fonctionne pas ici. Donc à priori trois solutions :
- mon code n'est pas bon
- ma version de extjs deconne...
- mon serveur web local deconne...ou il manque un truc...

Quelqu'un aurait-il une idée ou je pourrais trouvé une version plus ancienne de extjs? Je pense que cela vient de là.
DonMero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 10h13   #3
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 573
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 573
Points : 687
Points : 687
Envoyer un message via MSN à kenny.kev
Bonjour à toi,

Déjà quel est la version que tu utilises de extjs ?
Tu trouvera toutes les versions sur le site même de extjs (une fois que tu as cliqué sur download)

Je ne reconnais pas vraiment la configuration de la v4 dans ce que tu as fais.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 11h50   #4
Invité régulier
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 8
Points : 8
Salut,
C'est une version 3.3.0. Après plusieurs test, je peux assurer que le problème ne vient pas du serveur, ni de la version du Framework...donc de mon code. Sais tu comment passe le paramètre de l'action (update, create...)? Cela vient de là à mon avis...

Je tiens egalement à presiser que mes variable sont utilisé de la façon suivant

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
function grid(fenetre){
 
	//Onglet Fiche-Temps
	if (fenetre==1){
         .............
       }
 
        if (fenetre==2){
         var httpproxy...
         var stockageProjet....
         var TempsGrid....
       }
 
{
Et que cette fonction grid est appeler dans une winForm qui dans un autre .js
Cette arborescence peut elle generer ce problème?
DonMero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 15h18   #5
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 573
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 573
Points : 687
Points : 687
Envoyer un message via MSN à kenny.kev
Je te conseil dans un premier c'est de faire un grid pour chacune de tes fenêtre avec un grid et un store pour chacun.

Ensuite essaie de faire un grid seul pour faire fonctionner le CRUD.

Regarde aussi à prendre la version 3.3.1 car je penses qu'elle dois corriger certains bug de la 3.3.0.

Tu es partie dans quelque chose de trop compliqué pour tout faire en une fois.
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/05/2011, 16h31   #6
Invité régulier
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 8
Points : 8
C'est ce que je fais depuis hier et le résultat est le même. Il n'interprète pas le destroy (ne pointe absolument pas sur le fichier php lié), et ne reconnait pas le traitement update (remplacement par create). J'avou ne plus avoir d'idée. Un projet utilisant cette techno marche mais pas l'autre...la seul différence est que l'un utilise le framework Zend (marche) pour mes traitements php alors que l'autre utilise des commande sql standart lié à php (marche pas)...
DonMero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 10h02   #7
Membre chevronné
 
Avatar de kenny.kev
 
Homme
Inscription : janvier 2007
Messages : 573
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 27
Localisation : France, Indre et Loire (Centre)

Informations professionnelles :
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : janvier 2007
Messages : 573
Points : 687
Points : 687
Envoyer un message via MSN à kenny.kev
Qu'est ce que tu utilises pour déboguer le javascript ?
Es-tu sûre qu'il ne passe que par "create" ? Tu as un nouvel enregistrement en base ?

As-tu un message d'erreur dans firebug sous firefox ?
kenny.kev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/05/2011, 11h06   #8
Invité régulier
 
Inscription : février 2007
Messages : 23
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 23
Points : 8
Points : 8
Pour le debug j'utilise Firebug qui sur le coup ne m'affiche aucune erreur. Pour savoir quel action se deroule j'ai utilisé ça :
Code :
1
2
3
4
5
6
7
8
 
//Gestionnaire d'evenement
					listeners:{
						exception:function (dataproxy,type,action,option,response,mix){
							alert("dataproxy : "+dataproxy+"\ntype : "+type+"\naction : "+action+"\noption : "+option+"\nresponse : "+response+"\nmix : "+mix);
							alert(response.responseText);
							}
					}
Tanpis j'abandonne. Je travail sur une solution de contournement.
Merci a toi pour ce temps precieux passé à chercher. Je reviendrais sur le problème plus tard je pense mais pour le moment mon projet doit avancer.

Merci encore
DonMero est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/06/2011, 00h38   #9
Invité de passage
 
Inscription : mars 2002
Messages : 20
Détails du profil
Informations forums :
Inscription : mars 2002
Messages : 20
Points : 3
Points : 3
Bonjour DonMero,

avant que tu abandonnes, il faut que tu cherche la source du problème,... bon.

Malgrè que je suis débutant dans Extjs, mais j'ai constaté que dans ton code HTTPProxyProjet t'utilise toujours la méthode GET. Je pense à mon avis que le GET s'utilise que durant la lecteur des données. Donc tu auras :

read -->methode: GET
create -->methode: POST,
update -->methode:PUT,
destroy-->methode:DELETE

Merci espérant que ça se servira.
Nadjib est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h38.


 
 
 
 
Partenaires

Hébergement Web