function showCustomer(str) { var url="getcustomer.asp?sid=" + Math.random() + "&q=" + str xmlHttp=GetXmlHttpObject(stateChanged) xmlHttp.open("GET", url , true) xmlHttp.send(null) }
function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("txtHint").innerHTML=xmlHttp.responseText } }
function GetXmlHttpObject(handler) { var objXmlHttp=null
if (navigator.userAgent.indexOf("Opera")>=0) { alert("This example doesn"t work in Opera") return; } if (navigator.userAgent.indexOf("MSIE")>=0) { var strName="Msxml2.XMLHTTP"
第二步:后台服务端ASP AJAX代码的编写。 创建完刚才的index.html,我们接着再创建一个getcustomer.asp文件,请确认你的ASP环境一切OK:) getcustomer.asp的代码如下: 复制代码 代码如下: <% 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("ajaxjiaocheng.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open sql, conn Response.CharSet = "GB2312" if not rs.EOF then response.write "<li>编号:"&rs(0)&"</li>" response.write "<li>名称:"&rs(1)&"</li>" response.write "<li>点击:"&rs(2)&"</li>" response.write "<li>介绍:"&rs(3)&"</li>" end if rs.close set rs = nothing conn.close set conn = nothing %>
ajax代码讲解: 如果有asp基础的朋友一看就能明白,连接数据库代码及跟据前台发送过来的q参数查询相应的数据库结果: 复制代码 代码如下: 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("ajaxjiaocheng.mdb")) set rs = Server.CreateObject("ADODB.recordset") rs.Open sql, conn
继续讲解下段代码,就是显示相应的数据库查询结果,关闭数据库连接: 复制代码 代码如下: if not rs.EOF then response.write "<li>编号:"&rs(0)&"</li>" response.write "<li>名称:"&rs(1)&"</li>" response.write "<li>点击:"&rs(2)&"</li>" response.write "<li>介绍:"&rs(3)&"</li>" end if rs.close set rs = nothing conn.close set conn = nothing