做网站    网页设计、制作    FLASH导入页设计    网站策划、开发    后台程序维护、升级    网站解决方案
技术支持:苏玮 电话:15011022561Ajax与数据库
网页设计->AJAX

Ajax与数据库

AJAX 实例解析
The example above contains a simple HTML form and a link to a JavaScript:
上面的例子包含了一个简单的HTML表单和一关联到JS的link:
在以下的AJAX范例中,我们可以了解到一个网页是如何用AJAX技术从数据端获得信息的。
<html>
<head>

<script src="selectcustomer.js"></script>

</head>
<body>
<form> 
Select a Customer:
<select name="customers" onchange="showCustomer(this.value)">

<option value="ALFKI">Alfreds Futterkiste

<option value="NORTS ">North/South
<option value="WOLZA">Wolski Zajazd 
</select>
</form>
<p>
<div id="txtHint"><b>Customer info will be listed here.</b></div>

</p>
</body>
</html>
As you can see it is just a simple HTML form  with a simple 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 hints 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 "selectcustomers.js":
这是JS代码,被保存在一叫做"selectcustomers.js"的文件内:

var xmlHttp

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"

if (navigator.appVersion.indexOf("MSIE 5.5")>=0)
{
strName="Microsoft.XMLHTTP"

try

objXmlHttp=new ActiveXObject(strName)
objXmlHttp.onreadystatechange=handler 
return objXmlHttp

catch(e)

alert("Error. Scripting for ActiveX might be disabled") 
return 


if (navigator.userAgent.indexOf("Mozilla")>=0)
{
objXmlHttp=new XMLHttpRequest()
objXmlHttp.onload=handler
objXmlHttp.onerror=handler 
return objXmlHttp
}



--------------------------------------------------------------------------------

The AJAX Server Page
AJAX服务页
The server paged called by the JavaScript, is a simple ASP file called "gecustomer.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("<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>") 发表评论

关闭窗口   来源:网络  16  2007-02-16

北京魔快网络 建高品质的网站!
©2002-  电话:15011022561(苏先生)  Email:mokuainet@126.com
地址:北京东城区工体北路新中西里17号楼北边平房(保利剧院东100米路北) 做网站找魔快,建站快、优化好!MoKuai.Net