AJAX数据库实例
AJAX可用来与数据库进行动态通信。
AJAX数据库实例
下面的例子将演示网页如何通过AJAX从数据库读取信息:
请在下面的下拉列表中选择一个客户:
请选择一位客户:
客户信息将在此处列出。
实例解释-showCustomer()函数
当用户在上面的下拉列表中选择某个客户时,会执行名为"showCustomer()"的函数。该函数由"onchange"事件触发:
functionshowCustomer(str)
{
varxmlhttp;
if(str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if(window.XMLHttpRequest)
{//codeforIE7+,Firefox,Chrome,Opera,Safari
xmlhttp=newXMLHttpRequest();
}
else
{//codeforIE6,IE5
xmlhttp=newActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if(xmlhttp.readyState==4&&xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getcustomer.asp?q="+str,true);
xmlhttp.send();
}
showCustomer()函数执行以下任务:
・检查是否已选择某个客户
・创建XMLHttpRequest对象
・当服务器响应就绪时执行所创建的函数
・把请求发送到服务器上的文件
AJAX服务器页面
由上面的JavaScript调用的服务器页面是ASP文件,名为"getcustomer.asp"。
用PHP编写服务器文件也很容易,或者用其他服务器语言。请看用PHP编写的相应的例子。
"getcustomer.asp"中的源代码负责对数据库进行查询,然后用HTML表格返回结果:
<%
response.expires=-1
sql="SELECT*FROMCUSTOMERSWHERECUSTOMERID="
sql=sql&"'"&request.querystring("q")&"'"
setconn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open(Server.Mappath("/db/northwind.mdb"))
setrs=Server.CreateObject("ADODB.recordset")
rs.Opensql,conn
response.write("<table>")
dountilrs.EOF
foreachxinrs.Fields
response.write("<tr><td><b>"&x.name&"</b></td>")
response.write("<td>"&x.value&"</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
%>
来自:http://www.w3school.com.cn
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。