xmlHttp と ASP を組み合わせることで、Web ページへの非同期呼び出しを簡単に完了できます。
コードは次のとおりです。
1. 新しい Display.asp を作成します (これはフロントエンド表示ページです)。
xmlhttp.readyState の 4 つの属性に注意してください。
1: 読み込み中;2: 読み込み済み;3: インタラクティブ;4: 完了
<%@ 言語=VBScript %>
<HTML>
<頭>
<META NAME=GENERATOR Content=Microsoft Visual Studio 6.0>
</HEAD>
<スクリプト言語=javascript>
xmlhttp = 新しい ActiveXObject(Msxml2.XMLHTTP);
関数 fnDo(ID)
{
var xmlDom = 新しい ActiveXObject(Msxml2.DOMDocument);
var strURL = GetInfo.asp?ID= + ID;
xmlhttp.Open(POST,strURL, true);
xmlhttp.onreadystatechange = fnRun;
xmlhttp.Send(xmlDom);
divTest.innerHTML = 読み込み中...
}
//------------------------------------------------ --------
関数 fnRun()
{
var state = xmlhttp.readyState;
var xmlDom = 新しい ActiveXObject(Msxml2.DOMDocument);
if (状態 == 4)
{
xmlDom.loadXML(xmlhttp.responseXML.xml);
//alert(xmlDom.documentElement.selectSingleNode(//objXML).text)
var getInfo = xmlDom.documentElement.selectSingleNode(//objXML).text;
divTest.innerHTML = getInfo
}
}
</script>
<本体>
<入力タイプ=テキスト ID=txtInput>
<入力タイプ=ボタン値=非同期呼び出しonclick=fnDo(document.all.txtInput.value)>
<DIV id=divTest></DIV>
<P> </P>
</BODY>
</HTML>
2. GetInfo.asp を作成します (これはバックグラウンド処理ページです)。
<%
Dim sID,objResult
sID = トリム(リクエスト(ID))
'sID = 28
Set objResult = Server.CreateObject(MSXML2.DOMDocument)
objResult.loadXML (<objXML></objXML>)
'************************************************ * ************
'************************************************ * ************
objResult.selectSingleNode(objXML).text = 取得: & sID
Response.ContentType = テキスト/xml
objResult.save (応答)
応答.終了
objSch = なしを設定します
objResult = なしを設定します
%>
3. Display.asp ページを実行し、テキスト ボックスに内容を入力してボタンをクリックすると、読み込み中プロンプトが表示され、ページを更新せずにテキスト ボックスの内容を取得します。もちろん、GetInfo.asp ページで送信されたパラメーターに基づいて複雑な計算を実行し、結果を返すこともできます。