1.AJAX ASP/PHP 请求:用于创造动态性更强的应用程序。
在请求中,有这么一个语句:xmlhttp.open("GET","gethint.asp"+str,true);
其中第二个参数为gethint.asp,这时 JavaScript 调用的服务器页面是 ASP 文件,名为 "gethint.asp"。
若语句为:xmlhttp.open("GET","gethint.asp?q="+str,true);
添加了一个参数 q ,这个参数是程序员自定义的(一般是获取用户的输入),若调用的是PHP文件,则第二个参数为“gethint.php”。
其中的ASP文件和PHP文件都是程序员创建的服务器文件(就是一个函数,包含想要执行的程序,使得程序动态性更强)。
2.AJAX 可用来与数据库进行动态通信:ASP文件(或者其他服务器语言)中的源代码负责对数据库进行查询,然后用 HTML 表格返回结果。例子(asp):
<%
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><b>" & x.name & "</b></td>")
response.write("<td>" & x.value & "</td></tr>")
next
rs.MoveNext
loop
response.write("</table>")
%>
3.AJAX 可用来与 XML 文件进行交互式通信:其实就是来自服务器的响应是 XML(也就是服务器页面是一个xml文件),需要作为 XML 对象进行解析,使用 responseXML 属性。当服务器响应就绪时,会构建一个 HTML 表格,从 XML 文件中提取节点(元素),最后使用已经填充了 XML 数据的 HTML 表格来更新页面:
部分代码例子:
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{ txt="<table border ='1'><tr><th>Title</th><th>Artist</th></tr>";
x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
{ txt=txt + "<tr>";
xx=x[i].getElementsByTagName("TITLE");
{ try {
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
} catch (er) {
txt=txt + "<td> </td>"; } }
xx=x[i].getElementsByTagName("ARTIST");
{ try {
txt=txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
}catch (er) {
txt=txt + "<td> </td>"; } }
txt=txt + "</tr>"; }
txt=txt + "</table>";
document.getElementById('txtCDInfo').innerHTML=txt;
}