Maison > développement back-end > tutoriel php > Quatre étapes pour qu'Ajax envoie des requêtes asynchrones

Quatre étapes pour qu'Ajax envoie des requêtes asynchrones

小云云
Libérer: 2023-03-18 10:26:01
original
3687 Les gens l'ont consulté

Cet article vous apprend principalement comment implémenter facilement ajax pour envoyer des requêtes asynchrones. Il a une certaine valeur de référence. Les amis intéressés peuvent s'y référer. J'espère qu'il pourra aider tout le monde à mieux maîtriser les connaissances d'ajax pour envoyer des requêtes asynchrones.

ajax envoie une demande asynchrone pour votre référence. Le contenu spécifique est le suivant

La première étape(Obtenir XMLHttpRequest)

Ajax n'a en fait besoin que de pour apprendre un objet :XMLHttpRequest, si vous le maîtrisez, vous maîtrisez ajax !!!

1 Obtenez XMLHttpRequest

La plupart des navigateurs prennent en charge : var xmlHttp=new XMLHttpRequest();
IE6.0:var xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
IE5.0 et versions antérieures d'IE:var xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

2. Écrivez une fonction qui crée un objet XMLHttpRequest

function createXMLHttpRequest(){
     try{
     return new XMLHttpRequest();
     } catch(e){
     try{
     return new ActiveXObject(“Msxml2.XMLHTTP”);
    }catch(e){
     try{
      return new ActiveXObject(“Microsoft.XMLHTTP”);
     }catch(e){
       alert(“哥们儿,你用的是什么浏览器啊?”);
       throw e;
    }
    }
     } 
}
Copier après la connexion

Étape 2(Ouvrez la connexion avec le serveur)

xmlHttp.open() : Utilisation Pour ouvrir une connexion avec le serveur, cela nécessite trois paramètres :

Méthode de requête : peut être GET ou POST
URL demandée : spécifiez la ressource côté serveur, par exemple : /day23_1/AServlet
Demander si Est asynchrone : Si vrai, cela signifie envoyer une requête asynchrone, sinon une requête synchrone

xmlHttp.open("GET","/day23_1/AServlet",true); //Par exemple

Étape 3(Envoyer la demande)

xmlHttp.send(null) : s'il n'est pas indiqué, certains navigateurs peuvent ne pas être capable d'envoyer !

Paramètre : C'est le contenu du corps de la requête ! S'il s'agit d'une requête GET, null doit être donné.
S'il s'agit d'une requête POST, elle se présente comme suit :

xmlHttp.send("username=zhangSan&password=123"); Quatre étapes :

Enregistrer un écouteur sur un événement de l'objet xmlHttp : onreadystatechange

L'objet xmlHttp a un total de 5 états 0 : L'initialisation n'est pas terminée, vient de créer l'objet XMLHttpRequest, la méthode open() a pas encore appelé

1 : La requête a démarré, la méthode open() a été appelée, mais la méthode send() n'a pas encore été appelée

2 : La requête est envoyée en statut d'achèvement, le send( ) la méthode a été appelée
3 : Commencer à lire la réponse du serveur

4 : Terminer la lecture de la réponse du serveur (généralement, nous ne nous soucions que du dernier statut !!!)



Obtenir le statut de l'objet xmlHttp


Récupérer le code d'état de la réponse du serveur (200 : Succès 304 : Le statut n'a pas changé 404 500 : Erreur du serveur)

Récupérer le contenu de la réponse du serveur
var state = xmlHttp.readyState;//可能是0、1、2、3、4
Copier après la connexion

Donc, l'auditeur doit être écrit comme ceci
var status=xmlHttp.status;//例如200、404、500
Copier après la connexion

Recommandations associées :
var content=xmlHttp.responseText;//得到服务器的响应的文本格式的内容(这更通用)
var content=xmlHttp.responseXML;//得到服务器的响应的xml响应的内容,它是document对象了!
Copier après la connexion

xmlHttp.onreadystatechange = function(){

  //xmlHttp的5种状态都会调用本方法
    if(xmlHttp.readyState ==4 && xmlHttp.status == 200){

  //双重判断:判断是否为4状态,而且还要判断是否为200
      var text=xmlHttp.responseText;
     } 
};
Copier après la connexion
méthode de publication de requête asynchrone ajax


Requête asynchrone ajax pour la souris Le problème de quitter la zone de texte de saisie

Comment utiliser jquery pour implémenter une requête asynchrone ajax pour renvoyer le code de données json détails

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal