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
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
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
var content=xmlHttp.responseText;//得到服务器的响应的文本格式的内容(这更通用) var content=xmlHttp.responseXML;//得到服务器的响应的xml响应的内容,它是document对象了!
xmlHttp.onreadystatechange = function(){ //xmlHttp的5种状态都会调用本方法 if(xmlHttp.readyState ==4 && xmlHttp.status == 200){ //双重判断:判断是否为4状态,而且还要判断是否为200 var text=xmlHttp.responseText; } };
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!