[AJAX] Comportement étrange avec ajax
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:
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
le fichier script javascript
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 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');
} |
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....
Je suis dubitatif :roll:
Merci à vous