begin process at 2012 05 26 06:32:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > OUTREPASSER LE PROBLÈME DE CACHE, LORS DE L'UTILISATION DU SENDANDLOAD

OUTREPASSER LE PROBLÈME DE CACHE, LORS DE L'UTILISATION DU SENDANDLOAD


 Information sur la source

Note :
9,5 / 10 - par 2 personnes
9,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :cache, killer, sendandload, problème, date Niveau :Débutant Date de création :13/06/2006 Vu :4 099

Auteur : libertyblood

Ecrire un message privé
Site perso
Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

 Description

Il arrive que l'on rencontre des problèmes lors de requetes avec des sendAndLoad, comme par exemple le fait de recevoir la même réponse pour deux requete identique, à des moments différents.

En effet si à 10H on effectue la requete : http://www.monsite.com/requete.php?id=1 on obtient un résultat
3H plus tard on réeffectue la requete avec le même paramètre, mais la valeur retournée devrait être différente. eh bien les navigateurs considère qu'il s'agit de la même page, et donc affiche celle présente dans le cache, ce qui pose problème.

Une solution possible, et d'utiliser ce que j'appelle un "cache killer" :) c'est une astuce simple et sans ambition : On passe en paramètre la date courante d'un objet Date, qui est un paramètre unique !

Voilà !

Source

  • //On déclare deux objets loadVars pour émettre et recevoir les données
  • varEmetteur = new LoadVars();
  • varRecepteur = new LoadVars();
  • //on crée un nouvel objet date
  • dateCourante=new Date();
  • //on attribue à l'objet loadVars émetteur nos paramètres ainsi que la date
  • varEmetteur.param1="kiwi";
  • varEmetteur.param2=3;
  • varEmetteur.date=dateCourante.getTime();
  • varRecepteur.onLoad = function(succes){
  • if (succes){
  • ...
  • }
  • }
  • varEmetteur.sendAndLoad("http://www.monsite.com/requete.php",varRecepteur,"POST");//On appelle la page de requete
//On déclare deux objets loadVars pour émettre et recevoir les données
varEmetteur = new LoadVars();
varRecepteur = new LoadVars();

//on crée un nouvel objet date
dateCourante=new Date();

//on attribue à l'objet loadVars émetteur nos paramètres ainsi que la date
varEmetteur.param1="kiwi";
varEmetteur.param2=3;
varEmetteur.date=dateCourante.getTime();

varRecepteur.onLoad = function(succes){
	if (succes){
		...
	}
}
varEmetteur.sendAndLoad("http://www.monsite.com/requete.php",varRecepteur,"POST");//On appelle la page de requete



 Sources du même auteur

Source avec Zip Source avec une capture SELECTION MULTIPLE
Source avec Zip Source avec une capture MOTEUR SHOOT'EM UP SIMPLE ET PARAMETRABLE
Source avec Zip Source avec une capture MACHINE À SOUS SIMPLE
Source avec Zip Source avec une capture JEU DE SIMON
Source avec Zip Source avec une capture CASSE-BRIQUE COMPLET

 Sources de la même categorie

TRANSFERT DE DONNÉES FLASH <-> PHP - PETITE SUBTILITÉ AVEC J... par Loubiou
Source avec Zip LECTURE DE TEXTE "VOICE" par yasdar
Source avec Zip Source avec une capture AS3 - PRINCIPE ET APPLICATION DE FONCTION RÉCURSIVE par pegase31
Source avec Zip Source avec une capture UN PACKAGE "HISTORIC" POUR GÉRER VOS COMMANDES par top30
Source avec Zip Source avec une capture AS3 - SIMULATION DE GRILLE D'ÉDITION par pegase31

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture COMPOSANT SWC CALENDAR DATE PICKER POUR FLASH CS5 AS3 par nicoflashkod
Source avec Zip Source avec une capture UNE MONTRE AVEC UN EFFET ARC EN CIEL (AS2) par kayoub5
Source avec Zip JUEX DE LUMIÉRE HAJIB par furiouskiller
Source avec Zip IMAGE GALLERY par furiouskiller
Source avec Zip Source avec une capture HORLOGE-MONTRE CALENDRIER par astrolabbcracker

Commentaires et avis

Commentaire de kingcobra le 13/06/2006 11:38:45

Oui bonne idée, j'avais moi meme mis une variable aléatoire...

Commentaire de kingcobra le 13/06/2006 11:40:32

mais si ton send/load communique avec du php le mieux est de mettre ça dans les premieres lignes du php :

header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);

Là, on est sûr et pas besoin de date ou de variable.

A plus.

Commentaire de bali_balo le 13/06/2006 13:00:00

C'est bien les gars...vous réinventés le "cash-killer".....

...alala....



bali_balo....=]

Commentaire de bali_balo le 13/06/2006 13:03:03

DESOLE CEDRIC!!! :D
J'avais pas vu que c'était toi qui avait poster la source ^^
Sinon j'aurais dit : "Whouaaaouuu quel source!!! 10/10" :p

As-tu reçu mon mail de Lundi? je le rend demain mon rapport ^^

@bientot!


bali_balo....=]

Commentaire de bali_balo le 13/06/2006 13:04:28

Bon, j'avais pas vu que maintenant il y avait une catégotie "astuces"...
J'ai en mettre moi alors des astuces!!! :p


bali_balo....=]

désolé pour tous ces posts...^^

Commentaire de libertyblood le 13/06/2006 15:22:59

Eh oui bali je le réinvente ^^

=>Kingcobra : c'est vrai que l'on peut le faire direct en PHP, seleumetn quand on travaille en équipe tout le monde ne connait pas cette fonction, et cela évite de poireauter des heures :)

Commentaire de survivor51 le 13/06/2006 20:48:49

J'ai réussi à faire un chat flash/php/mysql mais les messages ne changaient pas à cause du cache du navigateur. Cette source m'est donc plus qu'utile : elle est indispensable ! Merci !

Commentaire de X_Cli le 14/06/2006 10:06:11

J'etais arrivé à une bidouille du meme genre :D Décidément, faut croire que ces developpeurs php, il faut tout leur apprendre et tout faire à leur place :D (*sifflote* mince c'etait moi qui avait fait aussi le code php :D)

Plus sérieusement, pas mal le coup de l'objet Date. Par contre on aurait pu utiliser un getTimer() tout simple nan ?

Commentaire de libertyblood le 14/06/2006 10:14:40

Non car si tu lances l'anim deux fois de suite et que tu appelles le script à la millisecondes près, çà marche pas ^^ Mais bon c'est vrai, mais disons qu'avec l'objet date on sait que le paramètre est unique :)

Commentaire de X_Cli le 14/06/2006 10:25:34

Ah oui pardon, c'est vrai :D hihihi J'avais oublié le facteur "manque de pot" qui pourtant me poursuit assez souvent ;)
Très bonne idée ;)
(ps : je viens de parcourir aussi le source de ton casse-brique : excellent :))
Merci pour l'astuce :)

Commentaire de x_mec le 11/02/2007 17:09:18

Moi je ne comprend pas pourquoi tu utilise 2 objets loadvars ?

Un seul objet avec la date en paramètre get auarias été suffisant non ?



# varEmetteur = new LoadVars();
#
# dateCourante=new Date();
#
# //on attribue à l'objet loadVars émetteur nos paramètres ainsi que la date
# varEmetteur.param1="kiwi";
# varEmetteur.param2=3;
#
# varEmetteur.onLoad = function(succes){
# if (succes){
# ...
# }
# }
# #varEmetteur.sendAndLoad("http://www.monsite.com/requete.php?cash="+dateCourante.getTime(),varEmetteur,"POST");


Enfin un truc du genre ...

Commentaire de x_mec le 11/02/2007 17:10:01

Moi je ne comprend pas pourquoi tu utilise 2 objets loadvars ?

Un seul objet avec la date en paramètre get auarias été suffisant non ?



# varEmetteur = new LoadVars();
#
# dateCourante=new Date();
#
# //on attribue à l'objet loadVars émetteur nos paramètres ainsi que la date
# varEmetteur.param1="kiwi";
# varEmetteur.param2=3;
#
# varEmetteur.onLoad = function(succes){
# if (succes){
# ...
# }
# }
# #varEmetteur.sendAndLoad("http://www.monsite.com/requete.php?cash="+dateCourante.getTime(),varEmetteur,"POST");


Enfin un truc du genre ...

Commentaire de bali_balo le 11/02/2007 20:10:41

Cela évite des problèmes de chargement dans le même objet LoadVars.
Lorsque tu utilise "varEmetteur" comme paramètre dans la fonction sendAndLoad() c'est pour récupérer les variables reçus. Or tu peut utiliser n'importe quel objet comme paramètre pour recevoir les variables envoyées par ton script.
Moi personnellement, j'ai eut quelques problèmes de chargement en utilisant le même objet LoadVars pour l'émission et la réception de variables. Donc il est préférable d'en utiliser deux différents. Mais nous pouvons très bien utiliser le même objet LoadVars étant donné que c'est aussi un Objet...



ps : LibertyBlood, je voulais et je DEVAIS t'envoyer un mail de puis pas mal de temps... :P  J'ai tellement eut la flemme de te l'écrire et je l'ai complètement oublié... :S
Maintenant que je vois ton pseudo, cela me fait rappeler l'envoi du mail... pour t'annoncer que depuis quelques mois je suis assistant chef de projet Flash au sein de la même boite dans laquelle nous avons travaillé en tant que stagiaires...
Il y a eut pas mal de changement depuis l'été dernier!
Si tu veut qu'on en discute, see you on msn messenger... ;D
Cela me permettrai aussi d'avoir de tes nouvelles :D :D :D


bali_balo....=(      so sorry Céd...

Commentaire de x_mec le 11/02/2007 20:14:35

Ah effectivement, je comprend mieux. Je touche du bois je n'ai jamais eu de soucis avec sendandload pour le moment. Mais maintenant je sais que ça pourrait arriver (et ça m'evitera peut-ètre des heures de debogage inutile) ^^


Merci du partage ;)

Commentaire de bali_balo le 11/02/2007 20:17:42

Exactement, moi je suis passé près de 5 heures pour débuguer un script minable de 50 lignes avec un simple envoie et chargement de variables à un script asp...
Se rendre compte que l'erreur venait tous simplement du fait que j'utilisais le même objet LoadVars... C'est à se tirer les cheuveux!!!!!!!

bali_balo....=]  bon courage à tous!

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

***Problème php / flash help*** [ par kodiask ] voila g une animation et je veu afficher lheure et la date sur mon image g donk :loadVariableNum("actu.php",0)et sur mon fichier php g :&lt;?$date = d Problème de récupération de variable php avec sendAndLoad [ par stfaneb ] Bonjour ,Je rencontre un problème avec sendAndload() .J'arrive parfaitement à envoyer des variables depuis mon animation flash vers un script PHP. Mon problème avec la fonction Date(), incrémentation de la date [ par zvain ] salut,voici mon probl&#232;me : je cr&#233;&#233; ma fonction date () comme telle : maDate = new Date(annee,mois,jour);function formatDate(laDate) {va Problème avec fonction sendAndLoad [ par XFranck ] Bonjour &#224; tous, je tourne en rond depuis hier, voici mon probl&#232;me.Dans Flash 8 :on(press) {&nbsp;&nbsp;&nbsp;var xmavar = new LoadVars();&nb problème sendAndLoad() -> "error opening URL" [ par philibertb56 ] Whenever i use the sendAndLoad() method flash tells me that there an "error opening URL" the getUrl() method works fine with the same path but sendAnd Problème avec sendandload / datachooser [ par Paul974 ] Bonjour,J'ai cr&#233;&#233; une page avec le composant datachooser. En fonction de la date affich&#233;e, je fais un sendandload&nbsp;vers un fichier lien vers un menu en movieclip [ par noardesign ] bonjour tout le monde,voilà je suis un bon gros débutant en fash et j'avancer bien jusqu'a maintenant mais la d'un coup pleinde problème et je ne trou Problème avec datField [ par benedict ] Je voudrais afficher la date dès que mon dateField  maDate_df s'ouvre sous le format  du style : dimanche 18 mai.Est-ce possible ?Je peux le faire lor probleme dialogue php et flash sendandload [ par EFFACEUR ] Bonjour,J'ai un problème avec le dialogue php et flash avec sendandloadJe programme est cohérent vu qu il fonctionne chez moi et chez d'autre personne problème pour le calcule d'une date [ par kaygee ] Salut,Je cale sur un petit problème.J'essaye de calculer le nombre de jour entre la date d'aujourd'hui et une date xex : 12/05/2009 et 02/06/2009pour


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,889 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales