MSXML fournit l'objet Microsoft.XMLHTTP, qui peut effectuer la conversion et l'envoi des tâches des paquets de données vers les objets Request.
L'instruction pour créer un objet XMLHTTP est la suivante :
Set objXML = CreateObject("Msxml2.XMLHTTP") ou
Définir objXML = CreateObject("Microsoft.XMLHTTP")
' Ou, pour la version 3.0 de XMLHTTP, utilisez :
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
Une fois l'objet créé, appelez la méthode Open pour initialiser l'objet Request. Le format de syntaxe est :
poster.open http-method, url, async, userID, password.
La méthode Open contient 5 Paramètres, les trois premiers sont obligatoires, les deux derniers sont facultatifs (fournis lorsque le serveur requiert une authentification). La signification des paramètres est la suivante :
http-method : méthode de communication HTTP, telle que GET ou POST
url : l'adresse URL du serveur qui reçoit les données XML. Habituellement, l'async du programme ASP ou CGI est spécifié dans l'URL
: un indicateur booléen indiquant si la requête est asynchrone. S'il s'agit d'un mode de communication asynchrone (vrai), le client n'attend pas la réponse du serveur ; s'il s'agit d'un mode synchrone (faux), le client doit attendre que le serveur renvoie un message avant d'effectuer d'autres opérations
userID user ID, utilisé pour
le mot de passe d'authentification du serveur Mot de passe utilisateur, utilisé pour l'authentification du serveur
La méthode Send de l'objet XMLHTTP
utilise
la méthode Open pour initialiser l'objet Request, puis appelle la méthode Send pour envoyer les données XML :
poster.send XML-data.
Le type de paramètre de la méthode Send est Variant, qui peut être une chaîne, une arborescence DOM ou un flux de données arbitraire. Il existe deux manières d'envoyer des données : synchrone et asynchrone. En mode asynchrone, une fois le paquet de données envoyé, le processus d'envoi est terminé et le client effectue d'autres opérations ; en mode synchrone, le client attend que le serveur renvoie un message de confirmation avant de terminer le processus d'envoi.
L'attribut readyState dans l'objet XMLHTTP peut refléter la progression du serveur dans le traitement de la demande. Le programme client peut définir la méthode de traitement d'événement correspondante en fonction de ces informations d'état. Les valeurs d'attribut et leurs significations sont présentées dans le tableau suivant :
Valeur Description
0 L'objet Response a été créé, mais le processus de téléchargement du document XML n'est pas encore terminé.
1 Le document XML a été chargé
2 Le document XML a été chargé et est en cours de traitement.
3 Une partie du document XML a été analysée
4 Le document a été analysé et le client peut accepter le message de retour.
Le client traite les informations de réponse,
après avoir reçu le message de retour, le client effectue un traitement simple, qui termine essentiellement un cycle d'interaction entre C/S. Le client reçoit la réponse via les attributs de l'objet XMLHTTP :
● ResponseTxt : traite le message de retour comme une chaîne de texte ;
● ResponseXML : traite le message de retour comme un document XML, utilisé lorsque le message de réponse du serveur contient des données XML; traite le message de retour
comme un document XML
Le message renvoyé est traité comme un objet Stream------il s'agit de la fonction JAVASCRIPT très simple suivante SEND(STR,URL)------------- --
Les objets XMLDOM et XMLHTTP sont utilisés. L'avantage de l'utilisation de cette technologie est : contrôle JS complet, pratique/simple, bien meilleur que RDS ou distant (Prérequis : le serveur et le client doivent avoir IE5 ou supérieur installé), le non. -actualiser les informations en ligne que j'ai publiées La fonction utilise également cette technologie. Les amis intéressés peuvent y jeter un œil..
function Send(Str,URL)
//Le paramètre STR correspond aux données XML transmises. Vous pouvez également transmettre d'autres données texte.
//Cependant, cette fonction doit être traitée par le serveur et renvoyée aux données XML. Vous pouvez également la modifier.
//Le paramètre URL représente l'adresse du fichier ASP des données que vous souhaitez traiter
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //Créer un objet XMLHTTP var Dom = new ActiveXObject("Microsoft.XMLDOM") //Créer un objet XMLDOM Http.open("POST",URL,false)
//Le premier paramètre signifie envoyer des données en utilisant la méthode "POST". Il peut atteindre 4 Mo, ou il peut être modifié en "GET".
//Le deuxième paramètre signifie dans quel fichier les données sont envoyées pour traitement //Le troisième paramètre signifie mode synchrone ou asynchrone TRUE signifie asynchrone, FALSE signifie synchrone Http.send(Str) //Commencer à envoyer des données.... .. .......bip..
Dom.async=false //Défini pour obtenir des données de manière synchrone Dom.loadXML(Http.responseText)
// Commencer à obtenir les données renvoyées après le traitement côté serveur. Les paramètres que j'ai définis ici doivent être des données XML, sinon une erreur se produira.
//Vous pouvez également le modifier vous-même pour que les données renvoyées soient des données binaires ou des jeux d'enregistrements................................. ..
if(Dom.parseError.errorCode != 0) //Vérifiez si une erreur se produit lors de l'obtention des données{
supprimer (Http)
supprimer (Dom)
retour (faux)
}
autre
{
var Retour = Dom.documentElement.childNodes.item(0).text
// Récupère les données XML renvoyées. Je suppose ici que le gestionnaire ne renvoie qu'une seule ligne de données XML (un nœud)
supprimer (Http)
supprimer (Dom)
return(Back) //La fonction renvoie des données............Fin}
}
VAR CAT = Send("<Informations utilisateur><Nom>Xie Meng</Name></Informations utilisateur>"," HTTP://WWW.CHINAASP.COM/VIVA.ASP ") //Exécuter la fonction
SI(CAT == FAUX)
{
ALERTE("Désolé. Le gestionnaire a renvoyé FALSE. Le traitement des données a échoué...")
}
AUTRE
{
SI(EVAL(CAT))
{
ALERTE("OK. Les données ont été envoyées avec succès. Et le traitement est terminé !!!!!!")
}
AUTRE
{
ALERTE("Désolé. Le gestionnaire a renvoyé FALSE. Le traitement des données a échoué...")
}
}
===============================VIVA.ASP=============== = =============
EN ERREUR REPRISER SUIVANT
DIM BOBO
DIM MOMO
DÉFINIR BOBO = SERVEUR.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC = FAUX
DEMANDE DE CHARGEMENT BOBO.
SI BOBO.PARSEERROR.ERRORCODE <> 0 ALORS
RESPONSE.WRITE("<Résultat du traitement du programme><Résultat final>FALSE</Résultat final></Résultat du traitement du programme>")
AUTRE
SET MOMO = BOBO.DOCUMENTELEMENT
SI MOMO.CHILDNODES.ITEM(0).TEXT = "Xie Meng" ALORS
RESPONSE.WRITE("<Résultat du traitement du programme><Résultat final>TRUE</Résultat final></Résultat du traitement du programme>")
AUTRE
RESPONSE.WRITE("<Résultat du traitement du programme><Résultat final>FALSE</Résultat final></Résultat du traitement du programme>")
FIN SI
FIN SI
RÉGLER BOBO = RIEN