En admettant que j'ai un fichier php (je passe les prototypes html)
- Code: Tout sélectionner
<body>
<p> du blabla</p>
<php
$wait=true;
?>
<script>var waitJS=<php echo $wait;?>;
alert(waitJS);
</script>
</body>
Dans ce cas là l'affichage du alert va se faire car le javascript est dans la page php.
Moi ce que j'aimerais faire c'est enlever le code js du fichier php et le déclencher depuis une fonction d'un fichier js.
Et là ça ne fonctionne plus car j'imagine que si je met var waitJS=<php echo $wait;?>; dans un javascript il ne peut pas rappeler le serveur pour php.
C'est pour cela que je dis que cette méthode ne peut pas marcher (enfin si j'ai un peu compris le fonctionnement global de js et php).
===========================================
Dans la pratique, si je veux faire ça, c'est pour tester les bases d'ajax, car j'ai l'impression d'avoir un code correct, mais je ne sais pas si ça fonctionne ou non.
Exemple
test.js
- Code: Tout sélectionner
function testAj(){
var xhr = new XMLHttpRequest();
var url = "test.php?waiting=false";
xhr.open("GET", url);
xhr.send(null);
}
function startTimer(obj){
setInterval(testAj,5000);
}
Si j'ai compris ce que j'ai fais, toutes les 5 secondes je lance une requête ajax avec la méthode get sur l'url demandé.
Ma page test.php
- Code: Tout sélectionner
<html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript" src="./test.js"> </script>
</head>
<body>
<table id="ZoneCombat">
<tr>
<td id="e0" onclick='startTimer(this)'></td>
</tr>
</table>
<?php
if(isset($_GET['waiting'])){
$wait="OK";
}else{
$wait="KO";
}
echo $wait ;
?>
</body>
<html>
Sur cette page php, lorsque je la lance, elle m'affiche KO, ce qui est tout à fait normal me direz vous.
Par la suite, en cliquant sur la cellule de tableau, je m'attends à ce que le script se lance.
Et donc que je reçoive une requête ajax faisant que la valeur de $wait vaudra OK.
Sauf que, au niveau de mon url dans la barre d'adresse je ne vois pas de changement.
Du coup, je me dis comme le principe d'ajax est de ne pas recharger la page, c'est peut être normal.
Du coup, pour savoir si oui ou non ça marche, j'aimerais récupérer la valeur de $wait après l'exécution du script.
Car à l'heure actuelle sur ma page, KO reste toujours affiché, ne connaissant pas ajax plus que ça je ne sais pas si c'est normal ou non, j'essaie pour cela de faire des exemples assez simple pour voir comment ça fonctionne.
En espérant avoir un peu mieux détaillé ma façon de procéder.
PS: Merci de l'intérêt que tu as apporté à ce topic, je commençais à désespérer d'avoir des réponses me disant d'aller lire le tutos sur ajax du sdz...alors que j'ai du le lire trois ou quatre fois en entier dans la semaine sans trouver de solution à mon problème...tout simplement parce que lorsqu'on bloque sur une base, c'est impossible de s'investir plus en avant dans la compréhension d'un langage, chose que certains ne comprennent pas. Ou alors c'est juste moi qui suit un abruti fini pour ne pas comprendre. Ou alors les gens qui savent utilisé ajax forme un groupe sectaire en mode illuminati et refusant de partager leur connaissances à quiconque n'est pas capable d'arriver à leur niveau sans aide
(Oui j'en suis à voir des complots
)