Mediante la combinación de xmlHttp y ASP, podemos completar fácilmente llamadas asincrónicas a páginas web.
El código es el siguiente:
1. Cree un nuevo Display.asp (esta es la página de visualización frontal)
Preste atención a los 4 atributos de xmlhttp.readyState
1:CARGANDO;2:CARGADO;3:INTERACTIVO;4:COMPLETADO
<%@ Idioma=VBScript %>
<HTML>
<CABEZA>
<NOMBRE META=Contenido GENERADOR=Microsoft Visual Studio 6.0>
</CABEZA>
<lenguaje de escritura=javascript>
xmlhttp = nuevo ActiveXObject(Msxml2.XMLHTTP);
función fnDo(ID)
{
var xmlDom = nuevo ActiveXObject(Msxml2.DOMDocument);
var strURL = GetInfo.asp?ID= + ID;
xmlhttp.Open(POST,strURL, verdadero);
xmlhttp.onreadystatechange = fnRun;
xmlhttp.Enviar(xmlDom);
divTest.innerHTML = Cargando...
}
//------------------------------------------------ --------
función fnEjecutar()
{
var estado = xmlhttp.readyState;
var xmlDom = nuevo ActiveXObject(Msxml2.DOMDocument);
si (estado == 4)
{
xmlDom.loadXML(xmlhttp.responseXML.xml);
//alerta(xmlDom.documentElement.selectSingleNode(//objXML).text)
var getInfo = xmlDom.documentElement.selectSingleNode(//objXML).text;
divTest.innerHTML = obtener información
}
}
</script>
<CUERPO>
<tipo de entrada=id de texto=txtInput>
<tipo de entrada=valor del botón=Llamada asincrónica onclick=fnDo(document.all.txtInput.value)>
<IDV id=pruebadiv></DIV>
<P> </P>
</CUERPO>
</HTML>
2. Cree GetInfo.asp (esta es la página de procesamiento en segundo plano)
<%
Dim sID,objResult
sID = Recortar(Solicitud(ID))
'ID = 28
Establecer objResult = Server.CreateObject(MSXML2.DOMDocument)
objResult.loadXML (<objXML></objXML>)
'************************************************ * ***********
'************************************************ * ***********
objResult.selectSingleNode(objXML).text = Obtener: & sID
Respuesta.ContentType = texto/xml
objResult.save (Respuesta)
Respuesta.Fin
Establecer objSch = Nada
Establecer objResult = Nada
%>
3. Ejecute la página Display.asp, ingrese el contenido en el cuadro de texto, haga clic en el botón, podrá ver el mensaje Cargando y luego obtendrá el contenido en el cuadro de texto sin actualizar la página. Por supuesto, también puede realizar algunos cálculos complicados basados en los parámetros enviados en la página GetInfo.asp y luego devolver los resultados.