Maison  >  Article  >  interface Web  >  Ce que vous devez apprendre pour devenir un expert en événements Ajax : du basique au avancé

Ce que vous devez apprendre pour devenir un expert en événements Ajax : du basique au avancé

PHPz
PHPzoriginal
2024-01-17 09:41:131093parcourir

Ce que vous devez apprendre pour devenir un expert en événements Ajax : du basique au avancé

Du débutant au compétent : connaissances essentielles pour apprendre les événements Ajax

Introduction :
Avec le développement rapide d'Internet, le développement front-end est devenu une compétence très populaire. Dans ce domaine, Ajax (Asynchronous JavaScript And XML) est une technologie très importante, qui permet aux pages Web de communiquer de manière asynchrone avec le serveur. L'apprentissage des événements Ajax est l'une des connaissances essentielles pour les développeurs front-end. Cet article présentera progressivement les événements Ajax de l'entrée au maître et fournira des exemples de code spécifiques.

1. Qu'est-ce que l'événement Ajax
Ajax est une technologie qui met à jour une partie du contenu d'une page Web via une communication asynchrone avec le serveur sans actualiser la page Web entière. Par rapport aux requêtes de pages Web traditionnelles, Ajax peut offrir une expérience utilisateur plus fluide et plus dynamique. Lors de l'utilisation d'Ajax, l'événement le plus couramment utilisé est l'événement onreadystatechange. onreadystatechange事件。

在Ajax中,onreadystatechange事件会在请求的状态发生变化时触发。通过判断readyState的值,我们可以知道请求的状态。常见的readyState值有:

  • 0(未初始化):未初始化请求或者还没有调用open方法
  • 1(已打开):已经调用open方法,但还没有调用send方法
  • 2(已发送):已经调用send方法,但还没有接收到响应
  • 3(正在接收):已经接收到部分响应数据
  • 4(完成):已经接收到全部的响应数据,并且可以使用

readyState的值变为4时,我们可以使用responseText或者responseXML属性来获取服务器的响应数据。根据不同的请求结果,我们可以在onreadystatechange事件中执行相应的操作。

下面是一个基本的Ajax请求示例,当我们向服务器发送请求后,会将服务器返回的数据显示在页面上:

var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
  if(xhr.readyState === 4 && xhr.status === 200){
    var result = xhr.responseText;
    document.getElementById("result").innerHTML = result;
  }
};
xhr.open("GET", "data.php", true);
xhr.send();

在上述代码中,我们创建了一个XMLHttpRequest对象,并在onreadystatechange事件中判断请求是否成功。若成功,会将服务器返回的数据展示在id为"result"的元素中。

二. 数据交互技巧
在实际的开发中,我们可能会遇到一些特殊的需求,需要通过Ajax与服务器进行数据交互。下面是一些常用的数据交互技巧的示例:

  1. 发送POST请求:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
  if(xhr.readyState === 4 && xhr.status === 200){
    var result = xhr.responseText;
    document.getElementById("result").innerHTML = result;
  }
};
xhr.open("POST", "data.php", true);
xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhr.send("name=John&age=30");

在上述示例中,我们通过设置setRequestHeader方法来指定请求的Content-type,并使用send方法来发送请求数据。

  1. 发送JSON数据:
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
  if(xhr.readyState === 4 && xhr.status === 200){
    var result = JSON.parse(xhr.responseText);
    document.getElementById("result").innerHTML = result;
  }
};
xhr.open("POST", "data.php", true);
xhr.setRequestHeader("Content-type", "application/json");
var data = JSON.stringify({name: "John", age: 30});
xhr.send(data);

在上述示例中,我们使用JSON.stringify()方法来将JavaScript对象转换为JSON字符串,并使用JSON.parse()方法将服务器返回的JSON字符串转换为JavaScript对象。

  1. 表单数据的Ajax提交:
var form = document.getElementById("myForm");
form.addEventListener("submit", function(event) {
  event.preventDefault();
  var xhr = new XMLHttpRequest();
  xhr.onreadystatechange = function(){
    if(xhr.readyState === 4 && xhr.status === 200){
      var result = xhr.responseText;
      document.getElementById("result").innerHTML = result;
    }
  };
  xhr.open("POST", "data.php", true);
  xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhr.send(new FormData(form));
});

在上述示例中,我们通过给表单元素添加submit事件监听器,阻止表单的默认提交行为,并使用FormData

En Ajax, l'événement onreadystatechange est déclenché lorsque l'état demandé change. En jugeant la valeur de readyState, nous pouvons connaître l'état de la demande. Les valeurs readyState courantes sont :


0 (non initialisé) : La requête n'a pas été initialisée ou la méthode open n'a pas encore été appelée

1 (ouverte) : La méthode open a été appelée, mais la méthode send n'a pas encore été appelée
  • 2 (sent) : La méthode send a été appelée , mais aucune réponse n'a encore été reçue
  • 3 (Réception) : Une partie des données de réponse a été reçue
  • 4 (Complète) : Toutes les données de réponse ont été reçues et peuvent être utilisées
🎜Lorsque la valeur de readyState devient 4, nous pouvons utiliser l'attribut responseText ou responseXML pour obtenir les données de réponse du serveur. Selon différents résultats de requête, nous pouvons effectuer les opérations correspondantes dans l'événement onreadystatechange. 🎜🎜Ce qui suit est un exemple de requête Ajax de base. Lorsque nous envoyons une requête au serveur, les données renvoyées par le serveur seront affichées sur la page : 🎜rrreee🎜Dans le code ci-dessus, nous avons créé un objet XMLHttpRequest et l'avons placé dans Déterminez si la demande réussit dans l'événement onreadystatechange. En cas de succès, les données renvoyées par le serveur seront affichées dans l'élément portant l'identifiant "result". 🎜🎜2. Compétences en interaction avec les données🎜Dans le développement réel, nous pouvons rencontrer des besoins particuliers et devoir interagir avec le serveur via Ajax. Voici quelques exemples de techniques d'interaction de données couramment utilisées : 🎜
    🎜Envoyer une requête POST : 🎜
rrreee🎜Dans l'exemple ci-dessus, nous spécifions le contenu de la requête en définissant le setRequestHeader tapez la méthode et utilisez la méthode send pour envoyer les données de la demande. 🎜
    🎜Envoyer des données JSON : 🎜
rrreee🎜Dans l'exemple ci-dessus, nous utilisons la méthode JSON.stringify() pour convertir l'objet JavaScript en JSON. string et utilisez la méthode JSON.parse() pour convertir la chaîne JSON renvoyée par le serveur en un objet JavaScript. 🎜
    🎜Soumission Ajax des données du formulaire : 🎜
rrreee🎜Dans l'exemple ci-dessus, nous empêchons le formulaire par défaut en ajoutant un écouteur d'événement submit au formulaire élément. Comportement de soumission et utilisez l'objet FormData pour obtenir les données du formulaire et les soumettre via Ajax. 🎜🎜Conclusion :🎜Grâce à l'introduction de cet article, nous avons découvert les concepts de base des événements Ajax et les techniques courantes d'interaction de données. En maîtrisant les événements Ajax, nous pouvons réaliser une communication asynchrone avec le serveur pour mettre à jour et interagir avec les données sans actualiser la page entière. Grâce à beaucoup de pratique et d'apprentissage, nous pouvons développer et appliquer davantage les compétences Ajax et améliorer nos capacités et notre compétitivité dans le domaine du développement front-end. J'espère que cet article pourra vous aider à découvrir les événements Ajax. 🎜🎜Références : 🎜🎜🎜Introduction à AJAX - w3schools.com🎜🎜Utilisation de XMLHttpRequest - Developer.mozilla.org🎜🎜Introduction à Ajax - tutorielspoint.com🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn