Maison  >  Article  >  interface Web  >  Il suffit de quatre étapes pour implémenter ajax afin d'envoyer des requêtes asynchrones

Il suffit de quatre étapes pour implémenter ajax afin d'envoyer des requêtes asynchrones

php中世界最好的语言
php中世界最好的语言original
2018-03-30 17:33:301338parcourir

Cette fois, je vais vous présenter seulement quatre étapes pour envoyer une requête asynchrone avec ajax. Quelles sont les précautions pour implémenter ajax pour envoyer une requête asynchrone en quatre étapes. jetez un oeil.

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. 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;
    }
    }
     } 
}

Étape 2 (Ouvrir la connexion avec le serveur)

xmlHttp.open() : Utilisé pour ouvrir la connexion avec le serveur, il nécessite trois paramètres :

Méthode de requête : cela peut être GET ou POST
URL de requête : spécifiez les ressources côté serveur, par exemple : /day23_1/AServlet
request Qu'elle soit 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 en mesure d'envoyer !

Paramètres : 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 demande POST, ce qui suit est

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

Enregistrer un écouteur sur un événement de l'objet xmlHttp : onreadystatechangeL'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() n'a pas encore été 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, l'envoi () 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 du xmlHttp

Obtenir le

code d'état de la réponse du serveur

(200 : Succès 304 : Statut non modifié 404 500 : Erreur du serveur)
var state = xmlHttp.readyState;//可能是0、1、2、3、4

Obtenir l'objet xmlHttp contenu de la réponse

var status=xmlHttp.status;//例如200、404、500
Donc l'auditeur devrait être écrit comme ceci

var content=xmlHttp.responseText;//得到服务器的响应的文本格式的内容(这更通用)
var content=xmlHttp.responseXML;//得到服务器的响应的xml响应的内容,它是document对象了!
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez payer. attention aux autres articles connexes sur le site PHP chinois !

Lecture recommandée :
xmlHttp.onreadystatechange = function(){
  //xmlHttp的5种状态都会调用本方法
    if(xmlHttp.readyState ==4 && xmlHttp.status == 200){
  //双重判断:判断是否为4状态,而且还要判断是否为200
      var text=xmlHttp.responseText;
     } 
};

Ajax+Servlet pour implémenter un lien déroulant sans actualisation (avec code)

ajax pour obtenir des données json Comment utiliser

pour undéfini

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