Durch die Kombination von xmlHttp und ASP können wir asynchrone Aufrufe von Webseiten problemlos durchführen.
Der Code lautet wie folgt:
1. Erstellen Sie eine neue Display.asp (dies ist die Front-End-Anzeigeseite).
Achten Sie auf die 4 Attribute von xmlhttp.readyState
1:LÄDEN;2:GELADEN;3:INTERAKTIV;4:ABGESCHLOSSEN
<%@ Language=VBScript %>
<HTML>
<KOPF>
<META NAME=GENERATOR Content=Microsoft Visual Studio 6.0>
</HEAD>
<Skriptsprache=Javascript>
xmlhttp = neues ActiveXObject(Msxml2.XMLHTTP);
Funktion fnDo(ID)
{
var xmlDom = new ActiveXObject(Msxml2.DOMDocument);
var strURL = GetInfo.asp?ID= + ID;
xmlhttp.Open(POST,strURL, true);
xmlhttp.onreadystatechange = fnRun;
xmlhttp.Send(xmlDom);
divTest.innerHTML = Laden...
}
//------------------------------------------------ --------
Funktion fnRun()
{
var state = xmlhttp.readyState;
var xmlDom = new ActiveXObject(Msxml2.DOMDocument);
if (state == 4)
{
xmlDom.loadXML(xmlhttp.responseXML.xml);
//alert(xmlDom.documentElement.selectSingleNode(//objXML).text)
var getInfo = xmlDom.documentElement.selectSingleNode(//objXML).text;
divTest.innerHTML = getInfo
}
}
</script>
<KÖRPER>
<Eingabetyp=Text-ID=txtInput>
<Eingabetyp=Schaltflächenwert=Asynchroner Aufruf onclick=fnDo(document.all.txtInput.value)>
<DIV id=divTest></DIV>
<P> </P>
</BODY>
</HTML>
2. Erstellen Sie GetInfo.asp (dies ist die Hintergrundverarbeitungsseite).
<%
Dimmen Sie sID,objResult
sID = Trim(Request(ID))
'sID = 28
Set objResult = Server.CreateObject(MSXML2.DOMDocument)
objResult.loadXML (<objXML></objXML>)
'************************************************** * ************
'************************************************** * ************
objResult.selectSingleNode(objXML).text = Get: & sID
Response.ContentType = text/xml
objResult.save (Antwort)
Antwort.Ende
Setze objSch = Nothing
Setze objResult = Nothing
%>
3. Führen Sie die Seite Display.asp aus, geben Sie Inhalte in das Textfeld ein, klicken Sie auf die Schaltfläche. Sie sehen die Aufforderung zum Laden und erhalten dann den Inhalt im Textfeld, ohne die Seite zu aktualisieren. Natürlich können Sie auch einige komplizierte Berechnungen basierend auf den auf der Seite GetInfo.asp gesendeten Parametern durchführen und dann die Ergebnisse zurückgeben.