ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

VBScriptでAjax(Avax?)

Ajaxは、Asynchronous JavaScript + XMLの略ですが、
JavaScript固有のものではなく、VBScriptでもできるぜ。
ってのを言いたいだけのエントリです。

test.asp

<%@ Language = "VBScript" %>
<%
  Response.Write("hoge")
%>

ajax.asp

<%@ Language = "VBScript" %>
<html>
<head>
<meta http-equiv = "Content-Type" content = "text/html; charset = Shift_JIS">
<title>VBScript Ajax Test</title>
<script language = "VBScript">
Dim xhr
Sub btn1_onclick()
  Set xhr = CreateObject("Microsoft.XMLHTTP")
  xhr.open "GET", "/test.asp", true
  xhr.onreadystatechange = GetRef("handler")
  xhr.send
End Sub

Sub handler()
  If xhr.readystate = 4 Then
    document.getElementById("result").innerHtml = xhr.responseText
  End If
End Sub
</script>
</head>

<body>
<form name = "form1">
  <input type = "button" id = "button1" name = "btn1" value = "ボタン">
  <span id = "result"></span>
</form>
</body>
</html>

GetRefでサブルーチンの参照を取得できるってのは、
今回これを書いてみて初めて知りました。
勉強になるもんですね。