随笔-75  评论-74  文章-35  trackbacks-1
来源:
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 影子 阅读(46) 评论(0)  编辑  收藏 所属分类: 学习笔记