[AJAX] Fonctionnement erratique Ajax
Bonjour, je suis actuellement entrain de travailler sur une bataille navale en ligne,
j'ai donc crée une méthode permettant d'actualiser les grilles a l'aide d'ajax
La fonction PHP : (la boucle est ici car si placé dans la fonction js je n'ai pas accès au getElementById
Code:
1 2 3 4
| for ($j = 0; $j<2;$j++) {
for($x=0;$x<=10;$x++) {
for($y=0;$y<=10;$y++) {
echo "<script type='text/javascript'>actualiser('".$x."','".$y."','".$j."','".$_GET['user']."','".$_GET['adv']."')</script>"; |
Fonction JS
Code:
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
| function actualiser(x,y,j,user,adv) {
setTimeout(function(){actCase(j,x,y,user,adv)},9);
}
function actCase(j,x,y,user,adv) {
var xhr = new XMLHttpRequest();
xhr.open("GET","ping.php?j="+j+"&x=" + x + "&y=" + y+"&user="+user+"&adv="+adv)
xhr.onreadystatechange = function() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var res = xhr.responseText
var cell = JSON.parse(res)
var a = j+""+x+""+y
var d = document.getElementById(a)
console.log(a)
console.log(d)
if (cell.rep == "vide")
d.innerHTML = "<img src='images/mer.jpg' border='1' width=50 height=50/> "
if (cell.rep == "rate")
d.innerHTML = "<img src='images/mer.jpg' border='1' width=50 height=50/>"
} else {
console.log("Erreur!")
}
}
}
xhr.send()
} |
Ajax :
Code:
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
| <?php
$j = $_GET['j'];
$x = $_GET['x']+1;
$y = $_GET['y'];
$user = $_GET['user'];
$adv = $_GET['adv'];
if($j == 0)
$j=$user;
else if ($j == 1)
$j=$adv;
header("Content-type: text/json");
$fichier = simplexml_load_file("xml/games/".$user."&".$adv."&.xml");
if(!$fichier)
$fichier = simplexml_load_file("xml/games/".$adv."&".$user."&.xml");
$chemin = $j."_".$x."_".$y;
$case = $fichier-> $chemin;
$rep = (string)$case;
echo "{\"rep\": \"$rep\"}";
?> |
Et le problème c'est que lors de l'affichage les images font n'importe quoi, sur une grille j'ai que la premiere image, les autres disparaissent, sur l'autre certaine images apparaissent pas d'autre, ce qui est étrange c'est que si je met l'image bombe.jpg sur les deux if, tout se passeras bien, si je met l'image mer tout deconne ...
Donc si vous aviez une idée merci d'avance :)