Événement onreadystatechange

Lorsqu'une requête est envoyée au serveur, nous devons effectuer certaines tâches 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 trois attributs importants de l'objet XMLHttpRequest :

AttributDescription
onreadystatechangeFonction de stockage (ou Nom de la fonction), cette fonction sera appelée à chaque fois que la propriété readyState changera.
readyState
属性描述
onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化

  • 1: 服务器连接已建立

  • 2: 请求已接收

  • 3: 请求处理中

  • 4: 请求已完成,且响应已就绪

status200: "OK"
404: 未找到页面
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
    < /li>
  • 2 : La demande a été reçue

  • 3 : La demande est en cours de traitement

  • 4 : La demande a été complétée et la réponse est prête
statut200 : "D'accord"
404 : Page non trouvée

Dans l'événement onreadystatechange, nous spécifions les tâches à effectuer lorsque la réponse du serveur est prête à être traitée.

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

Instance

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/asset/demo.ajax.php?dm=txt&act=getfruits",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">通过 AJAX 改变内容</button>
</body>
</html>

Note :

onreadystatechange L'événement 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 tâches AJAX sur votre site, vous devez écrire une fonction

standard
pour créer un objet XMLHttpRequest et appeler cette fonction pour chaque tâche AJAX.