亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

AJAX - événement onreadystatechange

événement onreadystatechange

Lorsqu'une requête est envoyée au serveur, nous devons effectuer certaines taches basées sur les réponses.

Chaque fois que readyState change, l'événement onreadystatechange sera déclenché.

L'attribut readyState stocke les informations d'état de XMLHttpRequest.

Voici les trois attributs importants de l'objet XMLHttpRequest?:

Attributs readystatechange Stocke une fonction (ou un nom de fonction) qui sera appelée chaque fois que la propriété readyState change. readyState

Stocke l'état de XMLHttpRequest. Passe de 0 à 4.

0?: La requête n'est pas initialisée

1?: La connexion au serveur a été établie 2?: La requête a été re?ue

3 : La demande est en cours de traitement

????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????? La demande a été complétée et la réponse est prête. Taches effectuées lorsque la réponse du serveur est prête à être traitée.

Lorsque readyState est égal à 4 et que le statut est 200, cela signifie que la réponse est prête :

xmlhttp.onreadystatechange=function()
{
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}

Remarque : L'événement onreadystatechange est déclenché 5 fois (0 - 4), correspondant à chaque changement de readyState.

Utiliser les fonctions de rappel

Une fonction de rappel est une fonction qui est passée en paramètre à une autre fonction.

Si vous avez plusieurs taches AJAX sur votre site, vous devez écrire une fonction standard pour créer un objet XMLHttpRequest et appeler cette fonction pour chaque tache AJAX.

Cet appel de fonction doit contenir l'URL et la tache à effectuer lorsque l'événement onreadystatechange se produit (peut être différent pour chaque appel) :

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  });
}

Formation continue
||
<!DOCTYPE html> <html> <head> <script> var xmlhttp; function loadXMLDoc(url,cfunc) { if (window.XMLHttpRequest) {// IE7+, Firefox, Chrome, Opera, Safari 代碼 xmlhttp=new XMLHttpRequest(); } else {// IE6, IE5 代碼 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=cfunc; xmlhttp.open("GET",url,true); xmlhttp.send(); } function myFunction() { loadXMLDoc("/asset/demo.ajax.php?dm=txt",function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("myDiv").innerHTML=xmlhttp.responseText; } }); } </script> </head> <body> <div id="myDiv"><h2>修改文本內(nèi)容</h2></div> <button type="button" onclick="myFunction()">點擊</button> </body> </html>
soumettreRéinitialiser le code