ajax请求一个服务器文件夹,ajax高级(请求服务器脚本,数据库, ajxa xml文件)

本文探讨了AJAX在网页中如何与服务器进行动态通信,通过示例展示了如何传递参数到JSP和ASP文件,以及如何处理查询字符串。在服务器端,解释了如何读取并响应这些参数,包括从数据库检索数据。同时,详细说明了如何使用XML数据填充HTML表格,以及在客户端使用JavaScript处理XML响应以更新页面内容。
摘要由CSDN通过智能技术生成

请求jsp与请求普通文件不通过的地方,请求jsp可能会传参,比如搜索,用户名,页码这些

html部分:  实参:this.value,input中的值

js部分:function showHint(str){.....}  str用于接收实参

xmlhttp.open("GET","/ajax/gethint.asp?q="+str,true);  asp中的变量q  接收请求asp文件传送的值:this.vue

此处为后端服务器脚本,简单能看懂即可:

response.expires=-1

dim a(30)

'用名字来填充数组

a(1)="Anna"

a(2)="Brittany"

a(3)="Cinderella"

a(4)="Diana"

a(5)="Eva"

a(6)="Fiona"

a(7)="Gunda"

a(8)="Hege"

a(9)="Inga"

a(10)="Johanna"

a(11)="Kitty"

a(12)="Linda"

a(13)="Nina"

a(14)="Ophelia"

a(15)="Petunia"

a(16)="Amanda"

a(17)="Raquel"

a(18)="Cindy"

a(19)="Doris"

a(20)="Eve"

a(21)="Evita"

a(22)="Sunniva"

a(23)="Tove"

a(24)="Unni"

a(25)="Violet"

a(26)="Liza"

a(27)="Elizabeth"

a(28)="Ellen"

a(29)="Wenche"

a(30)="Vicky"

'获得来自 URL 的 q 参数

q=ucase(request.querystring("q"))

'如果 q 大于 0,则查找数组中的所有提示

if len(q)>0 then

hint=""

for i=1 to 30

if q=ucase(mid(a(i),1,len(q))) then

if hint="" then

hint=a(i)

else

hint=hint & " , " & a(i)

end if

end if

next

end if

'如果未找到提示,则输出 "no suggestion"

'否则输出正确的值

if hint="" then

response.write("no suggestion")

else

response.write(hint)

end if

%>

***************this over**************8

AJAX和数据库的动态通信: 主要是由后端来完成,设置一个接收参数又前端传入 dom编写同上

ajax服务器页面编写如下:

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

do until rs.EOF

for each x in rs.Fields

response.write("

" & x.name & "")

response.write("

" & x.value & "")

next

rs.MoveNext

loop

response.write("

")

%>

AJAX被用来与XML的交互式通信

当服务器响应就绪时,会构建一个 HTML 表格,从 XML 文件中提取节点(元素),最后使用已经填充了 XML 数据的 HTML 表格来更新 txtCDInfo 占位符:

function loadXMLDoc(url)

{

var xmlhttp;

var txt,x,xx,i;

if (window.XMLHttpRequest)

{// code for IE7+, Firefox, Chrome, Opera, Safari

xmlhttp=new XMLHttpRequest();

}

else

{// code for IE6, IE5

xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

xmlhttp.onreadystatechange=function()

{

if (xmlhttp.readyState==4 && xmlhttp.status==200)

{

txt="

TitleArtist

x=xmlhttp.responseXML.documentElement.getElementsByTagName("CD");

for (i=0;i

{

txt=txt + "

";

xx=x[i].getElementsByTagName("TITLE");

{

try

{

txt=txt + "

" + xx[0].firstChild.nodeValue + "";

}

catch (er)

{

txt=txt + "

";

}

}

xx=x[i].getElementsByTagName("ARTIST");

{

try

{

txt=txt + "

" + xx[0].firstChild.nodeValue + "";

}

catch (er)

{

txt=txt + "

";

}

}

txt=txt + "

";

}

txt=txt + "

";

document.getElementById('txtCDInfo').innerHTML=txt;

}

}

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

xmlhttp.send();

}

获得 CD 信息

over:xml文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值