欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-05-03 16:26:53
  通过xmlhttp和asp的结合,我们可以轻松完成网页的异步调用。代码如下:1.新建display.asp(这是前台显示页面)注意xmlhttp.ready...

 

通过xmlhttp和asp的结合,我们可以轻松完成网页的异步调用。
代码如下:
1.新建display.asp(这是前台显示页面)
注意xmlhttp.readystate的4个属性
1:loading;2:loaded;3:interactive;4:completed

<%@ language=vbscript %>
<html>
<head>
<meta name="generator" content="microsoft visual studio 6.0">
</head>
<script language="javascript">
xmlhttp = new activexobject("msxml2.xmlhttp");
function fndo(id)
{
 var xmldom = new activexobject("msxml2.domdocument");
 var strurl = "getinfo.asp?id=" + id;

 xmlhttp.open("post",strurl , true);
 xmlhttp.onreadystatechange = fnrun;

 xmlhttp.send(xmldom);

 divtest.innerhtml = "loading..."
}
//--------------------------------------------------------
function fnrun()
{
 var state = xmlhttp.readystate;

 var xmldom = new activexobject("msxml2.domdocument");

 if (state == 4)
 {
 xmldom.loadxml(xmlhttp.responsexml.xml);
 //alert(xmldom.documentelement.selectsinglenode("//objxml").text)
 var getinfo = xmldom.documentelement.selectsinglenode("//objxml").text;
 divtest.innerhtml = getinfo
 }
}
</script>
<body>
<input type=text id=txtinput>
<input type=button value="异步调用" onclick="fndo(document.all.txtinput.value)">
<div id=divtest></div>

<p> </p>
</body>
</html>
2.在建立getinfo.asp(这是后台处理页面)
<%
dim sid,objresult

sid = trim(request("id"))
'sid = 28

set objresult = server.createobject("msxml2.domdocument")
objresult.loadxml ("<objxml></objxml>")
'**************************************************************

'**************************************************************

objresult.selectsinglenode("objxml").text = "get:" & sid

response.contenttype = "text/xml"
objresult.save (response)
response.end

set objsch = nothing
set objresult = nothing
%>

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