美文网首页程序员
2018-05-31(ajax(2))

2018-05-31(ajax(2))

作者: acebear | 来源:发表于2018-05-31 23:04 被阅读0次

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;

    }

相关文章

网友评论

    本文标题:2018-05-31(ajax(2))

    本文链接:https://www.haomeiwen.com/subject/cpucsftx.html