来源:
http://hi.baidu.com/mayskys/blog/item/e7f131f7af8ab726730eeccb.html现在AJAX的应用越来越广泛,我网站的数据读取部分就使用了这样的技术,它可以让页面在无刷新的情况下进行翻页、搜索等操作,这样会让用户感觉你的网站速度很快。很多人都在自己的网页中加入这样的技术,那么如何在ASP中使用AJAX呢?其实只要动态生成一个XML文件,然后用JavaScrip读取就行了。
下面就是一个简单的例子:
new_xml.asp文件
<?xml version="1.0" encoding="utf-8" ?>
<!-- #include file="conn.asp" -->
<DataList>
<%
dim i
i = 0
sql="Select top 5 * from news "
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
do while not rs.eof
%>
<REC<%=i%>>
<id><%=rs("news_id")%></id>
<title><%=rs("title")%></title>
</REC<%=i%>>
<%
i=i+1
rs.movenext
loop
rs.close
set rs=nothing
%>
</DataList>
使用简单的ASP程序动态生成一个XML文件,其中把需要的数据读取出来。
Index.html文件:
<body>
<div id="showXml">loading...</div>
<input type=button value="getXML" onclick="getnews()">
<!-- 以下为js脚本,包含单击button触发的getnews()方法 -->
<script language=javascript>
function getnews(){
var xmldoc = new ActiveXObject("Microsoft.XMLDOM");
xmldoc.async = false;
if(!xmldoc.load("news_asp.asp")){
alert("读取数据失败!");
} else {
var xmlroot = xmldoc.documentElement.childNodes;
var showStr = ’<table border = 1>’;
var j;
var node = xmlroot.length;
var nodes;
while(j != node){
showStr += ’<tr>’;
for(j=0;j<node;j++){
nodes = xmlroot.nextNode();
showStr += ’<td>’;
showStr += nodes.selectSingleNode("id").text;
showStr += ’</td><td>’;
showStr += nodes.selectSingleNode("title").text;
showStr += ’</td>’;
}
showStr += ’</tr>’;
}
showStr += ’</table>’;
document.getElementById("showXml").innerHTML = showStr;
}
}
</script>
</body>
当单击button时,调用JavaScript中的getnews()方法,把内容添到<#DIV>中,实现这一切页面完全不用刷新。是不是很酷?
附:conn.asp链接数据库文件
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim conn,connstr,time1,time2,mdb
time1=timer
mdb="mdb/data.mdb" ’Access数据库的路径
on error resume next
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdb)
Set Conn=Server.CreateObject("ADODB.Connection")
conn.Open connstr
If Err Then
err.Clear
Set Conn = Nothing
Response.Write "数据库连接出错,请检查连接字串。"
Response.End
End If
%>
posted on 2008-04-02 22:48
影子 阅读(49)
评论(0) 编辑 收藏 所属分类:
学习笔记