书签 分享 收藏 举报 版权申诉 / 24

类型AJAX 高级.docx

  • 文档编号:12188297
  • 上传时间:2023-04-17
  • 格式:DOCX
  • 页数:24
  • 大小:29.77KB

正如您看到的,这是一个简单的带有一个名为"customers"下拉列表的HTML表单。

表单以下的段落包含了一个名为"txtHint"的div,这个div充当了由web服务器所取回的信息的位置占位符。

当用户选择数据时,名为"showCustomer()"的函数会被执行。

函数的执行会被"onchange"事件触发。

另外需要说明的是:

每当用户改变下拉列表中的值,函数showCustomer就会被调用。

下面列出了JavaScript代码。

AJAXJavaScript

这是存储在文件"selectcustomer.js"中的JavaScript代码:

varxmlHttp

functionshowCustomer(str)

{

xmlHttp=GetXmlHttpObject();

if(xmlHttp==null)

{

alert("您的浏览器不支持AJAX!

");

return;

}

varurl="getcustomer.asp";

url=url+"?

q="+str;

url=url+"&sid="+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

functionstateChanged()

{

if(xmlHttp.readyState==4)

{

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

}

}

functionGetXmlHttpObject()

{

varxmlHttp=null;

try

{

//Firefox,Opera8.0+,Safari

xmlHttp=newXMLHttpRequest();

}

catch(e)

{

//InternetExplorer

try

{

xmlHttp=newActiveXObject("Msxml2.XMLHTTP");

}

catch(e)

{

xmlHttp=newActiveXObject("Microsoft.XMLHTTP");

}

}

returnxmlHttp;

}

AJAX服务器页面

这个被JavaScript调用的服务器页面,是一个名为"getcustomer.asp"的简单的ASP文件。

此页面使用VBScript针对IIS编写。

可以使用PHP或其他服务器语言对它进行改写。

此代码可运行针对某个数据库的SQL,并以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("

")

dountilrs.EOF

foreachxinrs.Fields

response.write("

")

response.write("

")

next

rs.MoveNext

loop

response.write("

"&x.name&""&x.value&"
")

%>

AJAXXML实例

∙PreviousPage

∙NextPage

AJAX可用来与XML文件进行交互式通信。

AJAXXML实例

在下面的AJAX实例中,我们将演示如何通过使用AJAX技术,从XML文件中读取信息。

在下面的下列列表中选择一个CD

窗体顶端

选择CD:

窗体底端

在此列出CD信息。

AJAX实例解释

上面的例子包含了一个简单的HTML表单,以及指向一段JavaScript的链接:

选择CD:

BobDylan

BonnieTyler

DollyParton

在此列出CD信息。

正如您所看到的,它只是一个带有名为"cds"的下拉列表的简单HTML表单。

表单下面的段落包含一个名为"txtHint"的div。

该div用作从web服务器接受的数据的位置占位符。

当用户选择列表时,名为"showCD"的函数就会被执行。

该函数的执行是"onchange"事件触发的。

换句话说,每当用户改变了下拉列表的值,这个showCD函数就会被调用。

下面列出了JavaScript代码。

AJAXJavaScript

这是存储在文件"selectcd.js"中的JavaScript代码:

varxmlHttp

functionshowCD(str)

{

xmlHttp=GetXmlHttpObject();

if(xmlHttp==null)

{

alert("YourbrowserdoesnotsupportAJAX!

");

return;

}

varurl="getcd.asp";

url=url+"?

q="+str;

url=url+"&sid="+Math.random();

xmlHttp.onreadystatechange=stateChanged;

xmlHttp.open("GET",url,true);

xmlHttp.send(null);

}

functionstateChanged()

{

if(xmlHttp.readyState==4)

{

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

}

}

functionGetXmlHttpObject()

{

varxmlHttp=null;

try

{

//Firefox,Opera8.0+,Safari

xmlHttp=newXMLHttpRequest();

}

catch(e)

{

//InternetExplorer

try

{

xmlHttp=newActiveXObject("Msxml2.XMLHTTP");

}

catch(e)

{

xmlHttp=newActiveXObject("Microsoft.XMLHTTP");

}

}

returnxmlHttp;

}

AJAX服务器页面

被JavaScript调用的服务器页面,是名为"getcd.asp"的简单ASP文件。

该页面使用VBScript编写,针对Internet信息服务器(IIS)。

可以用PHP或其他服务器语言,简单地重写该页面。

请看在PHP中对应的例子(测试:

缺具体页面)。

该代码执行针对XML文件的查询,并以HTML返回结果:

<%

response.expires=-1

q=request.querystring("q")

setxmlDoc=Server.CreateObject("Microsoft.XMLDOM")

xmlDoc.async="false"

xmlDoc.load(Server.MapPath("cd_catalog.xml"))

setnodes=xmlDoc.selectNodes("CATALOG/CD[ARTIST='"&q&"']")

foreachxinnodes

foreachyinx.childnodes

response.write(""&y.nodename&":

")

response.write(y.text)

response.write("
")

next

next

%>

AJAXResponseXML实例

∙PreviousPage

∙NextPage

与responseText以字符串返回HTTP响应不同,responseXML以XML返回响应。

ResponseXML属性返回XML文档对象,可使用W3CDOM节点树的方法和属性来检查和解析该对象。

AJAXResponseXML实例

在下面的AJAX实例中,我们将演示网页如何使用AJAX技术从数据库中读取信息。

这次,这些从数据库中选取的数据将被转换为XML文档,然后我们将使用DOM来提取要显示的值。

选取下拉列表中的名称

窗体顶端

选择客户:

窗体底端

AJAX实例解释

上面的例子包含一个HTML表单,若干个保留所返回数据的元素,以及指向一段JavaScript的链接:

AlfredsFutterkiste

North/South

WolskiZajazd

配套讲稿:

如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

特殊限制:

部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

关 键  词:
AJAX 高级
提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:AJAX 高级.docx
链接地址:https://www.bdocx.com/doc/12188297.html

copyright@ 2008-2022 冰点文档网站版权所有

经营许可证编号:鄂ICP备2022015515号-1

收起
展开