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 :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
header("Refresh:30; url=view.php?galgal=$galgal&pseudo=$pseudo&nbmaximag=$nbmaximag&site=$site");
j ai donc utilisé : ( je me suis basé sur un exemple trouvé sur le web)

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

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);
mais je n'arrive pas a trouver la bonne syntaxe

merci d'avance