Bonjour à tous
(le code n'est pas interessant mais c'est pour la demo)
J'ai un comportement étrange avec une procédure ajax basique. Une page principale avec un lien et 2 div, un fichier script, un fichier de données.
le but: afficher lors du clic du div 1 , le contenu de la page de données dans le div 2 ......Soit je ne vois plus rien (c'est possible), soit je ne comprends plus rien (c'est probable)
le fichier index.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <SCRIPT type="text/javascript" language="JavaScript" src="script.js"></SCRIPT> <?php echo "<div id='DIVUN'>"; echo "<a href='' Onclick='affiche()'>Click</a>"; echo "</div>"; echo "<div id='DIVDEUX'>"; echo "</div>"; ?>
le fichier de données
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <?php echo "OK"; ?>
le fichier script javascript
Si je ne mets pas le alert('quelquechose'); le xhr.readyState s'arrête a 2 puis plus rien, sinon il va au bout, mais la donnée "Ok", s'affiche 1 seconde puis disparait comme si il y avait un reload....
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 function getXhr() { var xhr = null; if (window.XMLHttpRequest) // Firefox et autres xhr = new XMLHttpRequest(); else if (window.ActiveXObject) { // Internet Explorer try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } } else { alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr = false; } return xhr; } function affiche() { var xhr = getXhr(); xhr.onreadystatechange = function () { alert(xhr.readyState); if (xhr.readyState == 4 && xhr.status == 200) { leselect = xhr.responseText; document.getElementById('DIVDEUX').innerHTML = leselect; xhr.abort(); } } xhr.open("GET", "madata.php", true); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(null); alert('ok'); }
Je suis dubitatif
Merci à vous
Partager