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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| <!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8" />
<style type="text/css">
#resultat{
border: 1px solid black;
padding: 10px;
background-color: #EEEEEE;
min-height: 1em;
margin-top: 0;
}
</style>
<title>readyState</title>
</head>
<body>
<p><button id="lancer">Lancer la requête (synchrone)</button><button id="lancer2">Lancer la requête (asynchrone)</button></p>
<div id="readystate"></div>
<p id="resultat"></p>
<script>
var elem = document.getElementById('lancer'),
elem2 = document.getElementById('lancer2'),
result = document.getElementById('resultat'),
ready = document.getElementById('readystate');
elem.onclick = requete;
elem2.onclick = requeteFalse;
function requeteFalse(){
requete(false);
}
function requete(isAsync){
var async = !!isAsync,
currentState;
elem.disabled = true;
elem2.disabled = true;
result.innerHTML = '';
ready.innerHTML = '';
var xhr = new XMLHttpRequest();
ready.innerHTML += 'readyState : ' + xhr.readyState + '<br />';
xhr.open('post','ajax.php',async);
xhr.onreadystatechange = function(){
if(xhr.readyState != currentState){
currentState = xhr.readyState;
ready.innerHTML += 'readyState : ' + currentState + '<br />';
}
if(xhr.readyState > 2){
result.innerHTML = xhr.responseText;
}
if(xhr.readyState == 4){
elem.disabled = false;
elem2.disabled = false;
}
}
xhr.send(null);
}
</script>
</body>
</html> |
Partager