Através da combinação de xmlHttp e ASP, podemos facilmente concluir chamadas assíncronas para páginas da web.
O código é o seguinte:
1. Crie um novo Display.asp (esta é a página de exibição front-end)
Preste atenção aos 4 atributos de xmlhttp.readyState
1:CARREGANDO;2:CARREGADO;3:INTERATIVO;4:CONCLUÍDO
<%@Idioma=VBScript%>
<HTML>
<CABEÇA>
<NOME DA META=Conteúdo do GERADOR=Microsoft Visual Studio 6.0>
</HEAD>
<linguagem de script=javascript>
xmlhttp = novo ActiveXObject(Msxml2.XMLHTTP);
função fnDo(ID)
{
var xmlDom = novo ActiveXObject(Msxml2.DOMDocument);
var strURL = GetInfo.asp?ID= + ID;
xmlhttp.Open(POST,strURL, verdadeiro);
xmlhttp.onreadystatechange=fnRun;
xmlhttp.Send(xmlDom);
divTest.innerHTML = Carregando...
}
//------------------------------------------------ --------
função fnRun()
{
var estado = xmlhttp.readyState;
var xmlDom = novo ActiveXObject(Msxml2.DOMDocument);
se (estado == 4)
{
xmlDom.loadXML(xmlhttp.responseXML.xml);
//alert(xmlDom.documentElement.selectSingleNode(//objXML).text)
var getInfo = xmlDom.documentElement.selectSingleNode(//objXML).text;
divTest.innerHTML=getInfo
}
}
</script>
<CORPO>
<tipo de entrada=texto id=txtInput>
<input type=button value=Chamada assíncrona onclick=fnDo(document.all.txtInput.value)>
<DIV id=divTeste></DIV>
<P> </P>
</BODY>
</HTML>
2. Crie GetInfo.asp (esta é a página de processamento em segundo plano)
<%
Dim sID,objResult
sID = Trim(Solicitação(ID))
'sID = 28
Definir objResult = Server.CreateObject(MSXML2.DOMDocument)
objResult.loadXML (<objXML></objXML>)
'********************************************** ************
'********************************************** ************
objResult.selectSingleNode(objXML).text = Obter: & sID
Response.ContentType = texto/xml
objResult.save (resposta)
Resposta.Fim
Definir objSch = Nada
Definir objResult = Nada
%>
3. Execute a página Display.asp, insira o conteúdo na caixa de texto, clique no botão, você poderá ver o prompt Carregando e, em seguida, obtenha o conteúdo na caixa de texto sem atualizar a página. Claro, você também pode fazer alguns cálculos complicados com base nos parâmetros enviados na página GetInfo.asp e depois retornar os resultados.