收藏 分销(赏)

AJAX_数据库实例.doc

上传人:pc****0 文档编号:7798977 上传时间:2025-01-17 格式:DOC 页数:8 大小:50.50KB 下载积分:10 金币
下载 相关 举报
AJAX_数据库实例.doc_第1页
第1页 / 共8页
AJAX_数据库实例.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
AJAX 数据库实例 · Previous Page · Next Page AJAX 可用来与数据库进行动态地通信。 AJAX 数据库实例 在下面的 AJAX 例子中,我们将演示如何使用 AJAX 技术令网页从数据库读取信息。 在下面的框中选择一个名字 窗体顶端 请选择一位客户: 窗体底端 客户信息将在此处列出。 AJAX 实例解释 上面的实例包含了一个简单的 HTML 表单以及执行 JavaScript 的链接: <html> <head> <script src="selectcustomer.js"></script> </head> <body> <form> 请选择一位客户: <select name="customers" onchange="showCustomer(this.value)"> <option value="ALFKI">Alfreds Futterkiste <option value="NORTS ">North/South <option value="WOLZA">Wolski Zajazd </select> </form> <p> <div id="txtHint"><b>客户信息将在此处列出。</b></div> </p> </body> </html> 正如您看到的,这是一个简单的带有一个名为 "customers" 下拉列表的 HTML 表单。 表单以下的段落包含了一个名为 "txtHint" 的 div,这个 div 充当了由 web 服务器所取回的信息的位置占位符。 当用户选择数据时,名为 "showCustomer()" 的函数会被执行。函数的执行会被 "onchange" 事件触发。另外需要说明的是:每当用户改变下拉列表中的值,函数 showCustomer 就会被调用。 下面列出了 JavaScript 代码。 AJAX JavaScript 这是存储在文件 "selectcustomer.js" 中的 JavaScript 代码: var xmlHttp function showCustomer(str) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("您的浏览器不支持AJAX!"); return; } var url="getcustomer.asp"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } AJAX 服务器页面 这个被 JavaScript 调用的服务器页面,是一个名为 "getcustomer.asp" 的简单的 ASP 文件。 此页面使用 VBScript 针对 IIS 编写。可以使用 PHP 或其他服务器语言对它进行改写。 此代码可运行针对某个数据库的 SQL,并以 HTML 表格返回结果: <% response.expires=-1 sql="SELECT * FROM CUSTOMERS WHERE CUSTOMERID=" sql=sql & "'" & request.querystring("q") & "'" set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open(Server.Mappath("/db/northwind.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open sql, conn response.write("<table>") do until rs.EOF for each x in rs.Fields response.write("<tr><td><em>" & x.name & "</em></td>") response.write("<td>" & x.value & "</td></tr>") next rs.MoveNext loop response.write("</table>") %> 在下面的下列列表中选择一个 CD 窗体顶端 选择 CD: 窗体底端 在此列出 CD 信息。 AJAX 实例解释 上面的例子包含了一个简单的 HTML 表单,以及指向一段 JavaScript 的链接: <html> <head> <script src="selectcd.js"></script> </head> <body> <form> 选择 CD: <select name="cds" onchange="showCD(this.value)"> <option value="Bob Dylan">Bob Dylan</option> <option value="Bonnie Tyler">Bonnie Tyler</option> <option value="Dolly Parton">Dolly Parton</option> </select> </form> <p> <div id="txtHint"><em>在此列出 CD 信息。</em></div> </p> </body> </html> 正如您所看到的,它只是一个带有名为 "cds" 的下拉列表的简单 HTML 表单。 表单下面的段落包含一个名为 "txtHint" 的 div。该 div 用作从 web 服务器接受的数据的位置占位符。 当用户选择列表时,名为 "showCD" 的函数就会被执行。该函数的执行是 "onchange" 事件触发的。换句话说,每当用户改变了下拉列表的值,这个 showCD 函数就会被调用。 下面列出了 JavaScript 代码。 AJAX JavaScript 这是存储在文件 "selectcd.js" 中的 JavaScript 代码: var xmlHttp function showCD(str) { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) { alert ("Your browser does not support AJAX!"); return; } var url="getcd.asp"; url=url+"?q="+str; url=url+"&sid="+Math.random(); xmlHttp.onreadystatechange=stateChanged; xmlHttp.open("GET",url,true); xmlHttp.send(null); } function stateChanged() { if (xmlHttp.readyState==4) { document.getElementById("txtHint").innerHTML=xmlHttp.responseText; } } function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; } AJAX 服务器页面 被 JavaScript 调用的服务器页面,是名为 "getcd.asp" 的简单 ASP 文件。 该页面使用 VBScript 编写,针对 Internet 信息服务器 (IIS)。可以用 PHP 或其他服务器语言,简单地重写该页面。 请看在 PHP 中对应的例子(测试:缺具体页面)。 该代码执行针对 XML 文件的查询,并以 HTML 返回结果: <% response.expires=-1 q=request.querystring("q") set xmlDoc=Server.CreateObject("Microsoft.XMLDOM") xmlDoc.async="false" xmlDoc.load(Server.MapPath("cd_catalog.xml")) set nodes=xmlDoc.selectNodes("CATALOG/CD[ARTIST='" & q & "']") for each x in nodes for each y in x.childnodes response.write("<b>" & y.nodename & ":</b> ") response.write(y.text) response.write("<br />") next next %>
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服