MSXML stellt das Microsoft.XMLHTTP-Objekt bereit, das die Konvertierung und das Senden von Aufgaben von Datenpaketen an Request-Objekte durchführen kann.
Die Anweisung zum Erstellen eines XMLHTTP-Objekts lautet wie folgt:
Set objXML = CreateObject("Msxml2.XMLHTTP") or
Setze objXML = CreateObject("Microsoft.XMLHTTP")
' Oder verwenden Sie für Version 3.0 von XMLHTTP:
' Set xml = Server.CreateObject("MSXML2.ServerXMLHTTP")
Rufen Sie nach der Erstellung des Objekts die Open-Methode auf, um das Request-Objekt zu initialisieren. Das Syntaxformat lautet:
poster.open http-Methode, URL, asynchron, Benutzer-ID, Passwort.
Die Open-Methode enthält 5 Parameter, die ersten drei sind erforderlich, die letzten beiden sind optional (bereitgestellt, wenn der Server eine Authentifizierung erfordert). Die Bedeutung der Parameter ist wie folgt:
http-Methode: HTTP-Kommunikationsmethode, z. B. GET oder POST
url: Die URL-Adresse des Servers, der XML-Daten empfängt. Normalerweise wird das ASP- oder CGI-Programm async in der URL angegeben
: ein boolesches Flag, das angibt, ob die Anfrage asynchron ist. Wenn es sich um einen asynchronen Kommunikationsmodus handelt (true), wartet der Client nicht auf die Antwort des Servers. Wenn es sich um einen synchronen Modus handelt (false), muss der Client warten, bis der Server eine Nachricht zurückgibt, bevor er andere Vorgänge ausführt
. Wird für die Serverauthentifizierung verwendet
. Das Benutzerkennwort wird für die Serverauthentifizierung verwendet.
Die Send-Methode des XMLHTTP-Objekts
verwendet die Open-Methode, um das Request-Objekt zu initialisieren, und ruft dann die Send-Methode auf, um dieXML-Daten
zu
senden Der Parametertyp der Send-Methode ist Variant, der ein String, ein DOM-Baum oder ein beliebiger Datenstrom sein kann. Es gibt zwei Möglichkeiten, Daten zu senden: synchron und asynchron. Im asynchronen Modus wird der Sendevorgang beendet, sobald das Datenpaket gesendet wurde, und der Client führt andere Vorgänge aus. Im synchronen Modus wartet der Client, bis der Server eine Bestätigungsnachricht zurückgibt, bevor er den Sendevorgang beendet.
Das Attribut „readyState“ im XMLHTTP-Objekt kann den Fortschritt des Servers bei der Verarbeitung der Anfrage widerspiegeln. Das Client-Programm kann basierend auf diesen Statusinformationen die entsprechende Ereignisverarbeitungsmethode festlegen. Die Attributwerte und ihre Bedeutung sind in der folgenden Tabelle aufgeführt:
Wertbeschreibung
0 Das Response-Objekt wurde erstellt, aber der XML-Dokument-Upload-Prozess ist noch nicht beendet.
1 Das XML-Dokument wurde geladen
2 Das XML-Dokument wurde geladen und wird verarbeitet.
3 Ein Teil des XML-Dokuments wurde analysiert
4 Das Dokument wurde analysiert und der Client kann die Antwortinformationen akzeptieren.
Nach
dem Empfang der Antwortnachricht führt der Client eine einfache Verarbeitung durch, die im Grunde einen Interaktionszyklus zwischen C/S abschließt. Der Client empfängt die Antwort über die Attribute des XMLHTTP-Objekts:
● ResponseTxt: Behandelt die Antwortnachricht als Textzeichenfolge;
●ResponseXML
: Behandelt die Antwortnachricht als XML-Dokument, das verwendet wird, wenn die Serverantwortnachricht XML-Daten enthält;behandelt die zurückgegebene Nachricht
als XML-Dokument.
Die zurückgegebene Nachricht wird als Stream-Objekt behandelt------das ist die folgende sehr einfache JAVASCRIPT-Funktion SEND(STR,URL)------------- --
XMLDOM- und XMLHTTP-Objekte werden verwendet: vollständige JS-Kontrolle, bequem/einfach, viel besser als RDS oder Remote (Voraussetzung: Sowohl auf dem Server als auch auf dem Client muss IE5 oder höher installiert sein). -Aktualisieren Sie die von mir geposteten Online-Informationen. Die Funktion nutzt auch diese Technologie. Interessierte Freunde können einen Blick darauf werfen.
Funktion Send(Str,URL)
//Der STR-Parameter sind die übergebenen XML-Daten. Sie können auch andere Textdaten übergeben.
//Diese Funktion muss jedoch vom Server verarbeitet und an XML-Daten zurückgegeben werden. Sie können sie auch ändern.
//URL-Parameter stellt die ASP-Dateiadresse der Daten dar, die Sie verarbeiten möchten
{
var Http = new ActiveXObject("Microsoft.XMLHTTP") //Erstellen eines XMLHTTP-Objekts var Dom = new ActiveXObject("Microsoft.XMLDOM") //Erstellen eines XMLDOM-Objekts Http.open("POST",URL,false)
//Der erste Parameter bedeutet, dass Daten mit der Methode „POST“ gesendet werden. Er kann bis zu 4 MB groß sein oder in „GET“ geändert werden
//Der zweite Parameter gibt an, an welche Datei die Daten zur Verarbeitung gesendet werden. //Der dritte Parameter bedeutet synchroner oder asynchroner Modus, FALSE bedeutet synchron. Http.send(Str) //Mit dem Senden von Daten beginnen.... .. .......Piepton..
Dom.async=false //Festlegen, um Daten synchron abzurufen Dom.loadXML(Http.responseText)
// Beginnen Sie mit dem Abrufen der nach der serverseitigen Verarbeitung zurückgegebenen Daten. Die hier festgelegten Einstellungen müssen XML-Daten sein, sonst tritt ein Fehler auf.
//Sie können es auch selbst ändern, sodass die zurückgegebenen Daten Binär- oder Recordset-Daten sind......................... ..
if(Dom.parseError.errorCode != 0) //Überprüfen Sie, ob beim Abrufen der Daten ein Fehler auftritt{
löschen(Http)
löschen(Dom)
return(false)
}
anders
{
var Back = Dom.documentElement.childNodes.item(0).text
//Erhalte die zurückgegebenen XML-Daten. Ich gehe hier davon aus, dass der Handler nur eine Zeile mit XML-Daten (einen Knoten) zurückgibt.
löschen(Http)
löschen(Dom)
return(Back) //Funktion gibt Daten zurück.............End}
}
VAR CAT = Send("<User Information><Name>Xie Meng</Name></User Information>"," HTTP://WWW.CHINAASP.COM/VIVA.ASP ") //Funktion ausführen
IF(CAT == FALSE)
{
ALERT("Entschuldigung. Der Handler hat FALSE zurückgegeben. Die Datenverarbeitung ist fehlgeschlagen ...")
}
ANDERS
{
IF(EVAL(CAT))
{
ALERT("OK. Die Daten wurden erfolgreich gesendet. Und die Verarbeitung ist abgeschlossen!!!!!!")
}
ANDERS
{
ALERT("Entschuldigung. Der Handler hat FALSE zurückgegeben. Die Datenverarbeitung ist fehlgeschlagen ...")
}
}
===============================VIVA.ASP=============== = =============
BEI FEHLER WEITERFAHREN
DIM BOBO
DIM MOMO
SET BOBO = SERVER.CREATEOBJECT("MICROSOFT.XMLDOM")
BOBO.ASYNC = FALSCH
BOBO.LOAD-ANFRAGE
WENN BOBO.PARSEERROR.ERRORCODE <> 0 DANN
RESPONSE.WRITE("<Programmverarbeitungsergebnis><Endergebnis>FALSE</Endergebnis></Programmverarbeitungsergebnis>")
ANDERS
SET MOMO = BOBO.DOCUMENTELEMENT
WENN MOMO.CHILDNODES.ITEM(0).TEXT = „Xie Meng“ DANN
RESPONSE.WRITE("<Programmverarbeitungsergebnis><Endergebnis>TRUE</Endergebnis></Programmverarbeitungsergebnis>")
ANDERS
RESPONSE.WRITE("<Programmverarbeitungsergebnis><Endergebnis>FALSE</Endergebnis></Programmverarbeitungsergebnis>")
ENDE WENN
ENDE WENN
SET BOBO = NICHTS