AJAX can be used for interactive communication with a database.

AJAX可以用来和数据端进行数据的交互联通。

AJAX Database Example

AJAX 数据库实例

In the AJAX example below we will demonstrate how a web page can fetch information from a database using AJAX technology.

在以下的AJAX范例中,我们可以了解到一个网页是如何用AJAX技术从数据端获得信息的。

Select a Name in the Box Below

请在下面的菜单中选择一名字

Select a Customer: Alfreds FutterkisteNorth/SouthWolski Zajazd

AJAX Example Explained

AJAX 实例解析

The example above contains a simple HTML form and a link to a JavaScript:

上面的例子包含了一个简单的HTML表单和一关联到JS的link:

Select a Customer:

Alfreds Futterkiste

North/South

Wolski Zajazd

Customer info will be listed here.

As you can see it is just a simple HTML form with a drop down box called "customers".

正如你所见这只是一个简单的HTML表单,里面有一简单的下拉菜单,其名称为"customers"

The paragraph below the form contains a div called "txtHint". The div is used as a placeholder for info retrieved from the web server.

表单下面包含一个名为"txtHint"的DIV,该DIV被用来做为反馈从WEB服务器检索信息的占位符

When the user selects data, a function called "showCustomer()" is executed. The execution of the function is triggered by the "onchange" event. In other words: Each time the user change the value in the drop down box, the function showCustomer is called.

当用户选择数据,一个称为 "showCustomer()"的函数被执行了。这个函数由"onchange"事件所触发。可以这么讲:每当用户改变下拉菜但中的名字,函数就会执行

The JavaScript code is listed below.

JS的代码在下面

The AJAX JavaScript

AJAX的JS

This is the JavaScript code stored in the file "selectcustomer.js":

这是JS代码,被保存在一叫做"selectcustomers.js"的文件内:

var xmlHttp

function showCustomer(str)

{

xmlHttp=GetXmlHttpObject()

if (xmlHttp==null)

{

alert ("Browser does not support HTTP Request")

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 || xmlHttp.readyState=="complete")

{

document.getElementById("txtHint").innerHTML=xmlHttp.responseText

}

}

function GetXmlHttpObject()

{

var objXMLHttp=null

if (window.XMLHttpRequest)

{

objXMLHttp=new XMLHttpRequest()

}

else if (window.ActiveXObject)

{

objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")

}

return objXMLHttp

}

The AJAX Server Page

AJAX服务页

The server paged called by the JavaScript, is a simple ASP file called "getcustomer.asp".

服务页由JS所调遣,是一称为"gecustomer.asp"的简单ASP文件

The page is written in VBScript for an Internet Information Server (IIS). It could easily be rewritten in PHP, or some other server language.

该页使用的是针对IIS的VBS语言,当然也可以改写成像PHP或是其他一些服务语言

The code runs an SQL against a database and returns the result as an HTML table:

代码运行了SQL来从数据库中将结果返回到HTML表格中:

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("

do until rs.EOF

for each x in rs.Fields

response.write("

" & x.name & "")

response.write("

" & x.value & "")

next

rs.MoveNext

loop

response.write("

")
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐