Bonjour,
J'utilise ajax pour afficher une image en grand dans un paragraphe lors du clic sur une vignette
Les �tats obtenus avec readyState passent de 1 � 4 et lorsque le statut est 4, je remplace l'image. Le probl�me, c'est que onreadystatechange d�tecte un changement, readyState repasse � 1 (je ne sais pas pourquoi ?) et l'image de d�part est r�affich�e. C'est comme s'il n'y avait eu finallement aucun changement dans la page.
Le site n'est pas en ligne.
**************************************
Voici les fonctions javascript que j'utilise :
*****************************************
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
36
37 function getXhr() { if(window.XMLHttpRequest) {xhr = new XMLHttpRequest();} else if(window.ActiveXObject) { try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest, veuillez le mettre à jour"); xhr = false; } } function changerPhoto1(idPhoto) { getXhr(); xhr.onreadystatechange = function() { if(xhr.readyState == 4 && xhr.status == 200) { // Nous remplacons le contenu du p#photo par le retour de "ajax/ax_nouvellePhoto.php" document.getElementById('photo').innerHTML = xhr.responseText; } } xhr.open("POST",'ajax/ax_nouvellePhoto.php',true); xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); xhr.send("id_img="+idPhoto); //ce qui est envoyé par POST }
Voici le code de la page ax_nouvellePhoto.php
Mon probl�me est donc :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2echo 'coucou';
Pourquoi l'�tat readyState change apr�s avoir �t� 4 ? Du coup, ONreadyStateChange est appel�e,et c'est pour cela que l'image n'est plus remplac�e.
Merci de m'aider car je ne vois vraiment pas pourquoi �a fait �a. J'ai m�me essay� d'autres scripts qui m'ont donn�s la m�me chose.
Remarque : j'utilise firefox avec la barre web d�veloppeur. Lorsque j'ai test� sur IE, bizarrement je retourne � la page initiale (sans aucune modif)
Merci
Partager