IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Flex Discussion :

Application Flex basée sur du XML qui ne se met pas à jour


Sujet :

Flex

  1. #1
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut Application Flex basée sur du XML qui ne se met pas à jour
    Bonjour,

    Je travaille sur une appli flex (basée sur la dashboard à cette adresse : http://www.adobe.com/devnet/flex/sam...dashboard.html), qui présente des graphiques (pods) qui se basent sur des fichiers xml comme source de données. A chaque fois que mon appli est rafraichie dans mon navigateur (F5 !), une fonction PHP est appelée (via rpc) et met à jour les fichiers xml des graphiques.

    Le problème est que ces graphiques ne mettent pas à jour leur données avec les nouveaux xml, mais prennent toujours en compte les anciens. Même si je ferme le navigateur et relance l'appli, les données dans les pods ne sont pas actualisées. On dirait qu'il existe un "cache" qui prend en compte les données uniquement lors du premier lancement.

    La seule solution que j'ai trouvée actuellement pour mettre à jour les données et de regénérer et déployer l'appli (release build) dans Flex editor...

    Si vous avez des idées, elles seront grandement appréciées

    Ci-dessous, le code de mon main.mxml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
     
    <?xml version="1.0" encoding="utf-8"?>
    <!--
     The main application file for the Dashboard demo app.
     Loads the layout XML and creates PodLayoutManagers.
    -->
    <mx:Application
    	xmlns:mx="http://www.adobe.com/2006/mxml"
    	horizontalAlign="left"
    	minWidth="600" minHeight="600"
    	width="100%" height="100%"
    	backgroundSize="100%"
    	backgroundColor="#ffffff"
    	paddingLeft="45" paddingRight="45" paddingBottom="35" paddingTop="34"
    	applicationComplete="onApplicationComplete()">
     
    	<mx:RemoteObject id="services" destination="amfphp" source="GenerateXML">
    	<mx:method name="generate"                
                   fault="faultHandler(event)"/>
    	</mx:RemoteObject>
     
    	<mx:Style source="/assets/styles.css" />
    	<mx:Script>
    		<![CDATA[
    			import com.esria.samples.dashboard.view.DataGridContent;
    			import mx.controls.DataGrid;
    			import com.esria.samples.dashboard.events.LayoutChangeEvent;
    			import com.esria.samples.dashboard.managers.PodLayoutManager;
    			import com.esria.samples.dashboard.managers.StateManager;
    			import com.esria.samples.dashboard.view.ChartContent;
    			import com.esria.samples.dashboard.view.FormContent;
    			import com.esria.samples.dashboard.view.ListContent;
    			import com.esria.samples.dashboard.view.PieChartContent;
    			import com.esria.samples.dashboard.view.Pod;
    			import com.esria.samples.dashboard.view.PodContentBase;
    			import mx.containers.Canvas;
    			import mx.controls.Alert;
    			import mx.events.FlexEvent;
    			import mx.events.IndexChangedEvent;
    			import mx.events.ItemClickEvent;
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent;
    			import mx.rpc.http.HTTPService;
     
    			//----------<RPC PHP>-----------
    			import mx.rpc.events.FaultEvent;
    			import mx.rpc.events.ResultEvent;
    			import mx.controls.Alert;	
     
    			 /**
    		     * handleFault
    		     * Si erreur, on l'affiche
    		     */
    		     private function faultHandler(fault:FaultEvent):void
    		     {
    		          Alert.show(fault.fault.faultString, fault.fault.faultCode.toString());
    		     }
     
    		     /**
    		     * generate
    		     * Appel de la methode generate de notre classe PHP
    		     */
    		     public function generate() :void
    		     {
    		          services.getOperation('generate').send();
    		     }
    		     //----------</RPC PHP>-----------	
     
    			// Array of PodLayoutManagers
    			private var podLayoutManagers:Array = new Array();
     
    			// Stores the xml data keyed off of a PodLayoutManager.
    			private var podDataDictionary:Dictionary = new Dictionary();
     
    			// Stores PodLayoutManagers keyed off of a Pod.
    			// Used for podLayoutManager calls after pods have been created for the first time.
    			// Also, used for look-ups when saving pod content ViewStack changes.
    			private var podHash:Object = new Object();
     
    			private function onApplicationComplete():void
    			{
    				// Load webservice
    				generate();
     
    				// Load pods.xml, which contains the pod layout.
    				var httpService:HTTPService = new HTTPService();
    				httpService.url = "data/pods.xml";
    				httpService.resultFormat = "e4x";
    				httpService.addEventListener(FaultEvent.FAULT, onFaultHttpService);
    				httpService.addEventListener(ResultEvent.RESULT, onResultHttpService);
    				httpService.send();
    			}
     
    			private function onFaultHttpService(e:FaultEvent):void
    			{
    				Alert.show("Unable to load data/pods.xml.");
    			}
     
    			private function onResultHttpService(e:ResultEvent):void
    			{
    				var viewXMLList:XMLList = e.result.view;
    				var len:Number = viewXMLList.length();
    				var containerWindowManagerHash:Object = new Object();
    				for (var i:Number = 0; i < len; i++) // Loop through the view nodes.
    				{
    					// Create a canvas for each view node.
    					var canvas:Canvas = new Canvas();
    					// PodLayoutManager handles resize and should prevent the need for
    					// scroll bars so turn them off so they aren't visible during resizes.
    					canvas.horizontalScrollPolicy = "off";
    					canvas.verticalScrollPolicy = "off";
    					canvas.label = viewXMLList[i].@label;
    					canvas.percentWidth = 100;
    					canvas.percentHeight = 100;
    					viewStack.addChild(canvas);
     
    					// Create a manager for each view.
    					var manager:PodLayoutManager = new PodLayoutManager();
    					manager.container = canvas;
    					manager.id = viewXMLList[i].@id;
    					manager.addEventListener(LayoutChangeEvent.UPDATE, StateManager.setPodLayout);
    					// Store the pod xml data. Used when view is first made visible.					
    					podDataDictionary[manager] = viewXMLList[i].pod;
    					podLayoutManagers.push(manager);
    				}
     
    				var index:Number = StateManager.getViewIndex();
    				// Make sure the index is not out of range.
    				// This can happen if a tab view was saved but then tabs were subsequently removed from the XML.
    				index = Math.min(tabBar.numChildren - 1, index);
    				onItemClickTabBar(new ItemClickEvent(ItemClickEvent.ITEM_CLICK, false, false, null, index));
    				tabBar.selectedIndex = index;
    			}
     
    			private function onItemClickTabBar(e:ItemClickEvent):void
    			{
    				var index:Number = e.index;
    				StateManager.setViewIndex(index); // Save the view index.
     
    				viewStack.selectedIndex = index;
     
    				// If data exists then add the pods. After the pods have been added the data is cleared.
    				var podLayoutManager:PodLayoutManager = podLayoutManagers[index];
    				if (podDataDictionary[podLayoutManager] != null)
    					addPods(podLayoutManagers[index]);
    			}
     
    			// Adds the pods to a view.
    			private function addPods(manager:PodLayoutManager):void
    			{
    				// Loop through the pod nodes for each view node.
    				var podXMLList:XMLList = podDataDictionary[manager];
    				var podLen:Number = podXMLList.length();
    				var unsavedPodCount:Number = 0;
    				for (var j:Number = 0; j < podLen; j++)
    				{
    					// Figure out which type of pod content to use.
    					var podContent:PodContentBase = null;
    					if (podXMLList[j].@type == "chart")
    						podContent = new ChartContent();
    					else if (podXMLList[j].@type == "form")
    						podContent = new FormContent();
    					else if (podXMLList[j].@type == "list")
    						podContent = new ListContent();
    					else if (podXMLList[j].@type == "pieChart")
    						podContent = new PieChartContent();
    					else if (podXMLList[j].@type == "dataGrid")
    						podContent = new DataGridContent();
     
    					if (podContent != null)
    					{
    						var viewId:String = manager.id;
    						var podId:String = podXMLList[j].@id;
     
    						// Get the saved value for the pod content viewStack.
    						if (StateManager.getPodViewIndex(viewId, podId) != -1)
    							podXMLList[j].@selectedViewIndex = StateManager.getPodViewIndex(viewId, podId);
     
    						podContent.properties = podXMLList[j];
    						var pod:Pod = new Pod();
    						pod.id = podId;
    						pod.title = podXMLList[j].@title;
    						pod.addChild(podContent);
    						var index:Number;
     
    						if (StateManager.isPodMinimized(viewId, podId))
    						{
    							index = StateManager.getMinimizedPodIndex(viewId, podId);
    							manager.addMinimizedItemAt(pod, index);
    						}
    						else
    						{
    							index = StateManager.getPodIndex(viewId, podId);
     
    							// If the index hasn't been saved move the pod to the last position.
    							if (index == -1)
    							{
    								index = podLen + unsavedPodCount;
    								unsavedPodCount += 1;
    							}
     
    							manager.addItemAt(pod, index, StateManager.isPodMaximized(viewId, podId));
    						}
     
    						pod.addEventListener(IndexChangedEvent.CHANGE, onChangePodView);
     
    						podHash[pod] = manager;
    					}
    				}
     
    				// Delete the saved data.
    				delete podDataDictionary[manager];
     
    				// Listen for the last pod to complete so the layout from the ContainerWindowManager is done correctly. 
    				pod.addEventListener(FlexEvent.UPDATE_COMPLETE, onCreationCompletePod);
    			}
     
    			// Pod has been created so update the respective PodLayoutManager.
    			private function onCreationCompletePod(e:FlexEvent):void
    			{
    				e.currentTarget.removeEventListener(FlexEvent.UPDATE_COMPLETE, onCreationCompletePod);
    				var manager:PodLayoutManager = PodLayoutManager(podHash[e.currentTarget]);
    				manager.removeNullItems();
    				manager.updateLayout(false);
    			}
     
    			// Saves the pod content ViewStack state.
    			private function onChangePodView(e:IndexChangedEvent):void
    			{
    				var pod:Pod = Pod(e.currentTarget);
    				var viewId:String = PodLayoutManager(podHash[pod]).id;
    				StateManager.setPodViewIndex(viewId, pod.id, e.newIndex);
    			}
    		]]>
    	</mx:Script>
    	<mx:Label text="Auto reload toutes les 120 secondes" enabled="true" styleName="podTitle"/>
    	<mx:TabBar
    		id="tabBar"
    		itemClick="onItemClickTabBar(event)"
    		height="35" 
    		dataProvider="viewStack" />
    	<mx:ViewStack
    		id="viewStack"
    		paddingTop="15"
    		width="100%" height="100%" />
    </mx:Application>
    N'oubliez pas le tag [Résolu] quand nécessaire !

  2. #2
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    je n'ai pas trop saisie ton probleme... je vais tenter de redefinir ton besoin, dis moi si j'ai bien compris.
    tu souhaites enregistrer dans un fichier xml les données graphiques(pods) pares chaque fermeture ou refresh de la page HTML(celle instanciant ton swf, donc redémarrage du swf)? pour cela je ne crois pas avoir vu ton code qui tente de le faire.

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  3. #3
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Je vais faire plus simple :

    * Mon appli flex gère des graphiques
    * Ces graphiques ont pour sources de données des fichiers xml
    * Ces fichiers xml sont générés par un script php, lancé au démarrage de mon appli flex (via http service)
    * Ces fichiers xml sont en fait la mise en page des résultats d'une requete sql

    Mon problème :
    * Je lance mon appli flex => les fichiers xml se génèrent => les données sont correctement affichées dans les graphiques
    * Je mets à jour les données dans la base de données, j'actualise mon appli (F5) => les fichiers xml sont regénérés avec les données mises à jour, MAIS les graphiques ne prennent pas en compte ces nouveaux fichiers xml et se basent sur les données d'avant.

    Voici les grandes lignes de mon code php qui génère les graphiques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    if (odbc_connect(...)) {
       //connexion ok & exécution de la requete sql
       $getdata = "select * from matable";
       $process_getdata = odbc_exec($getdata);
     
       //gestion des xml
       $xml = "C:/data.xml";
       $f_xml = fopen($xml, "w");
     
       //ecriture entete
       fwrite($f_xml, "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<items>\n");
     
       //ecriture données dans xml
       while(odbc_fetch_row($process_getdata)) {
          $value = odbc_result($process_getdata, "value");
          fwrite($f_getdata,"\t<item value=\"".$value."\" />\n");
       }		
       fwrite($f_getdata,"</items>");
     
       //fermeture du flux d'écriture
       fclose($f_getdata);
    }
    J'ai posté le code au cas où vous apercevez une erreur. Sachez que les fichiers xml sont bien générés et validés (pas d'erreur de syntaxe).

    D'avance merci pour vos idées.

    Bonne journée
    N'oubliez pas le tag [Résolu] quand nécessaire !

  4. #4
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    ah oui donc c'est ton accès a ton fichier XML depuis l'application flex, en effet je soupconne un probleme de cache.
    Sous Internet Explorer , je sais qu'il ne fait pas une requête si qq instant avant il a déjà effectué cette même requête. pour vérifier vide le cache de ton navigateur.
    Tu peux éviter ce comportement en ajoutant un faux paramètre aléatoire(Math.random)à l'url comme l'exemple ci-dessous:

    http://www.google.fr?bourrage=1298322

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mars 2005
    Messages : 64
    Points : 90
    Points
    90
    Par défaut
    De mémoire dans le Php un truc du genre :

    header("Pragma: no-cache");
    header("Cache-Control : no-cache");
    Arfany

  6. #6
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Merci pour vos réponses rapides.

    (Pour info j'utilise amfphp)

    J'ai rajouté dans mon script php le code correspondant à la non prise en charge du cache par le navigateur, ce qui donne désormais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    <?php 
    header("Pragma: no-cache");  
    header("Expires: 0"); 
    header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
    header("Cache-Control: no-cache, "); 
    class GenerateXML 
    { 
       function GenerateXML() 
      { 
           //constructeur 
      } 
     
       /** 
     * generate 
      * génère le xml correspondant aux entrées de la table voulue 
        * pour afficher  le tableau dans la dashboard 
       */ 
      function generate() 
     { 
            ... 
            } 
    }
    Or dans mon appli flex, j'utilise amfphp et je dois renseigner via httpservice la fonction php à utiliser pour générer mes xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <mx:RemoteObject id="services" destination="amfphp" source="GenerateXML"> 
     <mx:method name="generate"                 
                   fault="faultHandler(event)"/> 
    </mx:RemoteObject>
    Mais de cette manière je ne suis pas sûr que mon code php indiquant de ne pas mettre en cache sera pris en compte.

    N'y a t-il pas un moyen de dire à flex de vider le cache au lancement de l'appli ? Il s'agirait d'un bout de code que je pourrai mettre dans mon mxml principal.
    N'oubliez pas le tag [Résolu] quand nécessaire !

  7. #7
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    avec amfPHP , tu génère un xml coté serveur c'est bien ca?
    pourquoi n'envoi tu pas a flex directement un objet de type xml ?

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  8. #8
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Citation Envoyé par Jim_Nastiq Voir le message
    avec amfPHP , tu génère un xml coté serveur c'est bien ca?
    pourquoi n'envoi tu pas a flex directement un objet de type xml ?
    Mon script php est appelé au lancement de mon appli flex et ne sert juste qu'à générer le xml. Mon appli parse le xml et génère le graphique, je ne renvoie aucune donnée depuis amfphp vers flex.

    En fait je me base sur la Dashboard proposée sur le site d'adobe (j'ai juste intégrée amfphp pour générer mes xml perso) : http://www.adobe.com/devnet/flex/sam...dashboard.html
    N'oubliez pas le tag [Résolu] quand nécessaire !

  9. #9
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    J'ai finalement trouvé la réponse à mon problème. En changeant la configuration du navigateur :

    dans IE : Outils > Options Internet > Paramètres (des fichiers temporaires) > Vérifier les nouvelles versions des pages stockées > A chaque visite de la page

    Et les nouveaux xml sont pris en compte sans quitter l'appli.

    Cette solution est pas super propre (oblige le client à modifier sa config), mais elle me convient.

    Si certains d'entre vous savent faire cette manip dans du code... Je suis preneur !
    N'oubliez pas le tag [Résolu] quand nécessaire !

  10. #10
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Citation Envoyé par tamiii Voir le message
    Mon script php est appelé au lancement de mon appli flex et ne sert juste qu'à générer le xml. Mon appli parse le xml et génère le graphique, je ne renvoie aucune donnée depuis amfphp vers flex.

    En fait je me base sur la Dashboard proposée sur le site d'adobe (j'ai juste intégrée amfphp pour générer mes xml perso) : http://www.adobe.com/devnet/flex/sam...dashboard.html
    oui justement si tu renvoyais un objet xml plutôt que le générer coté serveur , tu n'aurais plus ce soucis de cache

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  11. #11
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    pour forcer flex a charger un fichier plutot que le prendre dans la cache, c'est tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url = 'http://xxxx/xxx.php?x='+Math.random()
    le Math.random() genere un nombre aléatoire a chaque appel et donc le navigateur pense que c'est un nouveau fichier
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  12. #12
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    Citation Envoyé par Lorenzo77 Voir le message
    pour forcer flex a charger un fichier plutot que le prendre dans la cache, c'est tout simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    url = 'http://xxxx/xxx.php?x='+Math.random()
    le Math.random() genere un nombre aléatoire a chaque appel et donc le navigateur pense que c'est un nouveau fichier
    y'a de l'echo ?

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

  13. #13
    Membre actif
    Inscrit en
    Mars 2007
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 218
    Points : 216
    Points
    216
    Par défaut
    Le fait est que je charge mon xml via httpservice, et mon appli se charge via un page html qui contient le swf (http://monsite/main.html)...
    N'oubliez pas le tag [Résolu] quand nécessaire !

  14. #14
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    Citation Envoyé par Jim_Nastiq Voir le message
    y'a de l'echo ?
    j'ai pas fait attention avant de répondre
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  15. #15
    Membre expert
    Avatar de Jim_Nastiq
    Homme Profil pro
    Architecte, Expert Flex
    Inscrit en
    Avril 2006
    Messages
    2 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte, Expert Flex
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2006
    Messages : 2 335
    Points : 3 189
    Points
    3 189
    Par défaut
    t'inquiètes c'était juste une p'tite chambre

    Pensez vraiment à effectuer une recherche avant de poster, ici et sur un moteur de recherche! c'est la moindre des choses
    Pensez au tag

    Mon Blog sur la techno Flex
    Ma page sur Developpez.com

    Jim_Nastiq

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Me.blabla.Value qui ne se met pas à jour sur blabla_Change()
    Par AurelienC38 dans le forum VBA Access
    Réponses: 2
    Dernier message: 23/04/2015, 08h30
  2. XML qui ne se met pas à jour !
    Par Abalalojik dans le forum C#
    Réponses: 7
    Dernier message: 06/09/2011, 14h37
  3. Binding sur "Items" dans le GroupStyle qui ne se met pas à jour si plusieurs items
    Par strat0 dans le forum Windows Presentation Foundation
    Réponses: 2
    Dernier message: 11/05/2009, 10h47
  4. Page web hébergée sur voila qui ne se met pas à jour ?
    Par Kyti dans le forum Hébergement
    Réponses: 4
    Dernier message: 21/02/2009, 17h38
  5. Combobox.text qui ne se met pas à jour
    Par davels dans le forum Delphi
    Réponses: 6
    Dernier message: 21/08/2006, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo