bonjour,
Connaissant bien plus php , que javascript/ajax je rencontre un problème lors du passage de paramètres lors du refresh d'une page avec paramètre.
j'ai besoin de rafraichir une page php toute les 2 secondes en évitant le clignotement de refresh
sans utiliser mes refresh basé sur php du type :
j ai donc utilisé : ( je me suis basé sur un exemple trouvé sur le web)
Code : Sélectionner tout - Visualiser dans une fenêtre à part header("Refresh:30; url=view.php?galgal=$galgal&pseudo=$pseudo&nbmaximag=$nbmaximag&site=$site");
page principale :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <header> <script src="./common/jquery.js"></script> <script src="./common/ordon.js"></script> </header> ... <body onload='refresh_div();'> ... <td valign="top"><div id="ordon" width="800" height="700" ></div></td>
ficher de fonction javascript :
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 function refresh_div() { var xhr_object = null; xhr_object = new XMLHttpRequest(); var method = 'GET'; var filename = './common/ordon.php'; xhr_object.open(method, filename, true); xhr_object.onreadystatechange = function() { if(xhr_object.readyState == 4) { var tmp = xhr_object.responseText; document.getElementById('ordon').innerHTML = tmp; } } xhr_object.send(null); setTimeout('refresh_div()', 2000); }
Tel quel ca marche , ma page se rafraichi bien toute les 2 secondes sans clignotement.
Mais mon problème est que je doit passer des paramètres a ma page nommé "ordon.php" .
Donc il ne faut pas que celle ci soit défini dans la fonction, mais passé en paramètre
J'ai donc modifié ma page principale pour passer l'url a la fonction tel que suis :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part <body onload='refresh_div("./common/ordon.php?param=<?php echo $param ; ?>");'>
et dans mon fichier de script j ai changé :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 function refresh_div(myurl) ... var filename = myurl; ...
mon soucis est qu au permier chargement de la page principale ca marche mais qu'il perd la valeur "myurl" après le premier refresh
dans la console de chrome j ai une erreur 404:
"GET http://127.0.0.1/mysite/undefined"
alors que je devrais avoir quelque chose du type
"GET http://127.0.0.1/mysite/common/ordon.php?param=xxx"
j'aimerais savoir comment faire pour repasser mes paramètres en GET lors du refresh
EDIT :
je suppose qu'il faut faire des modifs du coté de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 xhr_object.send(null); setTimeout('refresh_div()', 2000);
j ai essayé différentes syntaxes
mais je n'arrive pas a trouver la bonne syntaxe
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 setTimeout('refresh_div(myurl)', 2000); setTimeout('refresh_div('myurl')', 2000); setTimeout('refresh_div('.myurl.')', 2000);
merci d'avance
Partager