この記事では、MSXML2.ServerXMLHTTP を使用して asp で非同期リクエストを実装する例を主に紹介します。この記事では、MSXML2.ServerXMLHTTP 非同期リクエスト コードを記述する際の最も一般的な間違いについても説明します。必要な方は参照してください。
ASP が MSXML2.ServerXMLHTTP を使用してリクエストを非同期に送信する場合、MSXML2.ServerXMLHTTP オブジェクトのreadyState が 4 であるかどうかを判断することに注意する必要があります。responseText などのオブジェクトのプロパティが直接取得されるかどうかを判断しない場合は、次のエラーが発生します。
次のようにコードをコピーします。msxml3.dll エラー '8000000a'
この操作を完了するために必要なデータはまだ入手できません。
/a.asp、18行目
asp は MSXML2.ServerXMLHTTP を使用してリクエストのソース コードを非同期に送信します。
次のようにコードをコピーします。<%
if request.QueryString(dc)=1 then'xhr リクエストは現在時刻を出力し、実行を停止します。
応答。今すぐ書き込んでください
応答.終了
終了する場合
Dim xmlServerHttp
set xmlserverhttp = server.createobject(MSXML2.ServerXMLHTTP)
xmlServerHttp.open GET, http://www.vevb.com/a.asp?dc=1, true' は非同期リクエストを開始します
xmlServerHttp.send
While xmlServerHttp.readyState <> 4' ここで xhr オブジェクトのステータスを確認する必要があることに注意してください。4 でない場合は、1000 ミリ秒待ちます。そうでない場合は、下の文で上記のエラーが報告されます。
xmlServerHttp.waitForResponse 1000
ウェン
応答.contenttype = テキスト/html
response.write レシーバー ページ: & xmlServerHttp.responseText & <br/>
%>