使用xmlHttp结合ASP,实现网页的异步调用

通过xmlHttp和ASP的结合,我们可以轻松完成网页的异步调用。
代码如下:
1.新建Display.asp(这是前台显示页面)
注意xmlhttp.readyState的4个属性
1:LOADING;2:LOADED;3:INTERACTIVE;4:COMPLETED

1@ Language=VBScript 
 1<html>
 2<head>
 3<meta content="Microsoft Visual Studio 6.0" name="GENERATOR"/>
 4</head>
 5<script language="javascript">   
 6xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");   
 7function fnDo(ID)   
 8{   
 9var xmlDom = new ActiveXObject("Msxml2.DOMDocument");   
10var strURL = "GetInfo.asp?ID=" + ID;   
11  
12xmlhttp.Open("POST",strURL , true);   
13xmlhttp.onreadystatechange = fnRun;   
14  
15xmlhttp.Send(xmlDom);   
16  
17divTest.innerHTML = "Loading..."   
18}   
19//--------------------------------------------------------   
20function fnRun()   
21{   
22var state = xmlhttp.readyState;   
23  
24var xmlDom = new ActiveXObject("Msxml2.DOMDocument");   
25  
26if (state == 4)   
27{   
28xmlDom.loadXML(xmlhttp.responseXML.xml);   
29//alert(xmlDom.documentElement.selectSingleNode("//objXML").text)   
30var getInfo = xmlDom.documentElement.selectSingleNode("//objXML").text;   
31divTest.innerHTML = getInfo   
32}   
33}   
34</script>
35<body>
36<input onclick="fnDo(document.all.txtInput.value)" type="button" value="异步调用"/>
37<input id="txtInput" type="text"/>
38<div id="divTest"></div>
39<p> </p>
40</body>
41</html>

2.在建立GetInfo.asp(这是后台处理页面)

1   
2Dim sID,objResult   
3  
4sID = Trim(Request("ID"))   
5'sID = 28   
6  
7Set objResult = Server.CreateObject("MSXML2.DOMDocument")   
8objResult.loadXML ("

<objxml></objxml>

 1")   
 2'**************************************************************   
 3  
 4'**************************************************************   
 5  
 6objResult.selectSingleNode("objXML").text = "Get:" & sID   
 7  
 8Response.ContentType = "text/xml"   
 9objResult.save (Response)   
10Response.End   
11  
12Set objSch = Nothing   
13Set objResult = Nothing   

3.运行Display.asp页面,在文本框里输入内容,点击按钮,可以看到Loading的提示,随后在不刷新页面的情况下得到了文本框里的内容。当然你也可以在GetInfo.asp那个页面里根据发送的参数做一些复杂的出来,随后把结果返回出来。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus