Ajax学习笔记(2)----Ajax访问XML实例代码(全)
2008-08-25 21:25
375 查看
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=gb2312"
/>
<title>DOMTest2</title>
<script language=
"javascript"
>
var
request =
false
;
try
{
request =
new
XMLHttpRequest();
}
catch
(trymicrosoft) {
try
{
request =
new
ActiveXObject(
"Msxml2.XMLHTTP"
);
}
catch
(othermicrosoft) {
try
{
request =
new
ActiveXObject(
"Microsoft.XMLHTTP"
);
}
catch
(failed) {
request =
false
;
}
}
}
if
(!request)
alert(
"Error initializing XMLHttpRequest!"
);
function
callServer() {
var
url =
"/Ajax/scripts/saveAddress.xml"
;
request.open(
"POST"
, url,
true
);
request.setRequestHeader(
"Content-Type"
,
"text/xml"
);
request.onreadystatechange = updatePage;
request.send(
null
);
}
function
updatePage() {
if
(request.readyState == 4) {
if
(request.status == 200) {
var
xmlDoc= request.responseXML.documentElement;
var
showElements = xmlDoc.getElementsByTagName(
"show"
);
for
(
var
x=0; x<showElements.length; x++) {
var
title = showElements[x].childNodes[0].text;
var
rating = showElements[x].childNodes[1].text;
document.getElementById(
"title"
).value=title+x;
document.getElementById(
"rating"
).value=rating+x;
}
}
else
if
(request.status == 404)
{ alert(
"Request URL does not exist"
);}
else
if
(request.status == 403) {
alert(
"Access denied."
);
}
else
alert(
"Error: status code is "
+ request.status);
}
}
</script>
</head>
<body>
<table><tr><td>title</td><td><input id=
"title"
type=
"text"
/></td></tr><tr><td>rating</td><td>
<input id=
"rating"
type=
"text"
/></td></tr>
<tr><td></td><td><input type=
"button"
value=
"Click me!"
onclick=
"callServer()"
/></td></tr></table>
</body>
</html>
var
title = showElements[x].childNodes[0].text;
这一句,原写做
var
title = showElements[x].childNodes[0].value;
经过在论坛上讨论得出了正确结果。
XML文件
saveAddress.xml:
<?
xml
version
=
"1.0"
encoding
=
"gb2312"
?>
<
ratings
>
<
show
>
<
title
>
Alias
</
title
>
<
rating
>
6.5
</
rating
>
</
show
>
<
show
>
<
title
>
Lost
</
title
>
<
rating
>
14.2
</
rating
>
</
show
>
<
show
>
<
title
>
Six Degrees
</
title
>
<
rating
>
9.1
</
rating
>
</
show
>
</
ratings
>
得在服务器是运行
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
<html xmlns=
"http://www.w3.org/1999/xhtml"
>
<head>
<meta http-equiv=
"Content-Type"
content=
"text/html; charset=gb2312"
/>
<title>DOMTest2</title>
<script language=
"javascript"
>
var
request =
false
;
try
{
request =
new
XMLHttpRequest();
}
catch
(trymicrosoft) {
try
{
request =
new
ActiveXObject(
"Msxml2.XMLHTTP"
);
}
catch
(othermicrosoft) {
try
{
request =
new
ActiveXObject(
"Microsoft.XMLHTTP"
);
}
catch
(failed) {
request =
false
;
}
}
}
if
(!request)
alert(
"Error initializing XMLHttpRequest!"
);
function
callServer() {
var
url =
"/Ajax/scripts/saveAddress.xml"
;
request.open(
"POST"
, url,
true
);
request.setRequestHeader(
"Content-Type"
,
"text/xml"
);
request.onreadystatechange = updatePage;
request.send(
null
);
}
function
updatePage() {
if
(request.readyState == 4) {
if
(request.status == 200) {
var
xmlDoc= request.responseXML.documentElement;
var
showElements = xmlDoc.getElementsByTagName(
"show"
);
for
(
var
x=0; x<showElements.length; x++) {
var
title = showElements[x].childNodes[0].text;
var
rating = showElements[x].childNodes[1].text;
document.getElementById(
"title"
).value=title+x;
document.getElementById(
"rating"
).value=rating+x;
}
}
else
if
(request.status == 404)
{ alert(
"Request URL does not exist"
);}
else
if
(request.status == 403) {
alert(
"Access denied."
);
}
else
alert(
"Error: status code is "
+ request.status);
}
}
</script>
</head>
<body>
<table><tr><td>title</td><td><input id=
"title"
type=
"text"
/></td></tr><tr><td>rating</td><td>
<input id=
"rating"
type=
"text"
/></td></tr>
<tr><td></td><td><input type=
"button"
value=
"Click me!"
onclick=
"callServer()"
/></td></tr></table>
</body>
</html>
var
title = showElements[x].childNodes[0].text;
这一句,原写做
var
title = showElements[x].childNodes[0].value;
经过在论坛上讨论得出了正确结果。
XML文件
saveAddress.xml:
<?
xml
version
=
"1.0"
encoding
=
"gb2312"
?>
<
ratings
>
<
show
>
<
title
>
Alias
</
title
>
<
rating
>
6.5
</
rating
>
</
show
>
<
show
>
<
title
>
Lost
</
title
>
<
rating
>
14.2
</
rating
>
</
show
>
<
show
>
<
title
>
Six Degrees
</
title
>
<
rating
>
9.1
</
rating
>
</
show
>
</
ratings
>
得在服务器是运行
相关文章推荐
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- php ajax XMLHttpRequest POST实例代码
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- js/ajax跨越访问-jsonp的原理和实例(javascript和jquery实现代码)
- 用原生JS对AJAX做简单封装的实例代码
- SpringBoot用JdbcTemplates访问Mysql实例代码
- XML解析技术之VTD-XML 简介及代码实例
- Ajax 简单的实例代码
- asp.net中利用Jquery+Ajax+Json实现无刷新分页的实例代码
- Ajax异步上传文件实例代码分享
- query.ajax实例代码与说明
- php AJAX POST的使用实例代码
- ajax常用实例代码总结新手向参考(一)
- .NET实现XML与DataTable互转的实例代码
- AJAX 跨域访问 — 示例代码方法大全
- Ajax-05 使用XMLHttpRequest和jQuery实现Ajax实例
- XMLHttpRequest 的基本实例Ajax的应用
- PHP对XML内容进行修改和删除实例代码
- web.xml servlet 路径配置与ajax 访问路径
- Shell、Perl、Python、PHP访问 MySQL 数据库代码实例