Asp教程

通过asp实例结合结合ACCESS,MSSQL来更好的深入Asp学习 - 爬坡者

« replace()函数的另类用法rs.getrows的使用方法 »

在ASP中使用AJAX

现在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 
    %>

  • quote 1.achao
  • 提示有错误
    行3,字符1,缺少对象
    脚本是错误的
  • 11/01/2008 10:47:48 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Spirit Build 80710

Copyright 2007-2008 papozhe.com [asp教程] All Rights Reserved.
浙ICP备07030537号
免责申明:所有文章除特别声明,均来自网上,主要为学习用!内容仅供参考,版权归原作者。如侵犯您利益,请来信告知.
Email:papozhe$Gmail.com QQ:76336503