Ajax应用详解--图像网站的xml动态更新
2008-03-26 15:00
176 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhhp1314520/article/details/2220280
1.客户端页面:showPic.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript" src="prototype-1.4.0.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" src="XmlReader.js"></SCRIPT>
<script LANGUAGE="JavaScript">
cur_index=1;
function searchSales()
{
var url = 'response1.asp';
var pars = 'cur_index='+cur_index;
var myAjax2 = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onComplete: showResponse
});
cur_index++;
if(cur_index>4) cur_index=0;
}
function showResponse(originalRequest)
{
//put returned XML in the textarea
var xmlStr = originalRequest.responseText;
var mytitle,myurl;
//===========读取并处理xml文件==============================
var xmlReader = new XmlReader();
var xmlDoc = xmlReader.createXmlDoc();
if(xmlDoc!=null)
{
//读取包含xml的字符串
xmlDoc.async="False";
xmlDoc.loadXML(xmlStr);
//读取xml文件
//xmlDoc.async="False";
//xmlDoc.load(xmlFile);
//读取节点,返回包含节点的数组
//通过获取子节点获取所有信息
nodes = xmlDoc.documentElement.childNodes;
//alert("nodes:"+nodes.length);
for(var j=0;j<nodes.length;j++)
{
mytitle = nodes.item(j).getElementsByTagName("title").item(0).text;
myurl = nodes.item(j).getElementsByTagName("url").item(0).text;
}
//通过xpath查询获取信息
/**//*
var tabs = xmlDoc.selectNodes("images/image");
alert("tabs:"+tabs.length);
for(var i=0; i<tabs.length; i++)
{
mytitle = tabs.item(i).getElementsByTagName("title").item(0).text;
myurl = tabs.item(i).getElementsByTagName("url").item(0).text;
}
*/
xmlDoc=null;
}
xmlReader.close();
//===========页面效果和数据更新===============================
document.all('title').innerText=mytitle;
document.all('placeholder').style.backgroundImage='url('+pic.src+')';
pic.style.visibility='hidden';
//alert(originalRequest.responseText);
pic.src='pic/'+myurl;
pic.filters.revealTrans.Transition=6;
pic.filters.item(0).apply();
pic.style.visibility='visible';
pic.filters.item(0).play();
}
</script>
</head>
<body>
<input type=button value=next onclick="searchSales()">
<table width="151">
<tr><td width="151" height="171">
<div id="placeholder">
<img src='pic/001.gif' id='pic' name='pic' width="151" height="171" style='filter:revealtrans(duration=2.0,transition=0)'>
</div>
</td></tr><tr><td>
<div id="title"></div>
</td></tr>
</table>
</body></html>
2.服务器端页面getPicAction.asp
<%
img_list=Array("001.gif","002.gif","003.gif","004.gif","005.gif")
title_list=Array("image1","image2","image3","image4","image5")
cur_index=Request.QueryString("cur_index")
response.write "<images><image><id>"&cur_index&"</id><title>"&title_list(cur_index)&"</title><url>"&img_list(cur_index)&"</url></image></images>"
%> 3.xml文件解析器XmlReader.js
/**//**
/*操作示例
//===========读取并处理xml文件==============================
var mytitle,myurl;
var xmlReader = new XmlReader();
var xmlDoc = xmlReader.createXmlDoc();
if(xmlDoc!=null)
{
//读取包含xml的字符串
xmlDoc.async="False";
xmlDoc.loadXML(xmlStr);
//读取xml文件
//xmlDoc.async="False";
//xmlDoc.load(xmlFile);
//读取节点,返回包含节点的数组
//通过获取子节点遍历XML节点树(方法一)
nodes = xmlDoc.documentElement.childNodes;
//alert("nodes:"+nodes.length);
for(var j=0;j<nodes.length;j++)
{
mytitle = nodes.item(j).getElementsByTagName("title").item(0).text;
myurl = nodes.item(j).getElementsByTagName("url").item(0).text;
}
//通过xpath查询遍历XML节点树(方法二)
var tabs = xmlDoc.selectNodes("images/image");
alert("tabs:"+tabs.length);
for(var i=0; i<tabs.length; i++)
{
mytitle = tabs.item(i).getElementsByTagName("title").item(0).text;
myurl = tabs.item(i).getElementsByTagName("url").item(0).text;
}
xmlDoc=null;
}
xmlReader.close();
**/
function XmlReader()
< 8000 img src="http://www.blogjava.net/Images/dot.gif" alt="" />{
this.xmlDoc=null;
this.createXmlDoc=getXmlDoc;
this.close=closeXmlDoc;
}
function getXmlDoc()
{
if (window.ActiveXObject)
{
//document.write("Microsoft.XMLDOM");
this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation && document.implementation.createDocument)
{
//document.write("document.implementation.createDocument");
this.xmlDoc= document.implementation.createDocument("","doc",null);
}
if (typeof this.xmlDoc!="undefined")
{
return this.xmlDoc;
}else {
return null;
}
}
function closeXmlDoc()
{
this.xmlDoc=null
}
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<SCRIPT LANGUAGE="JavaScript" src="prototype-1.4.0.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" src="XmlReader.js"></SCRIPT>
<script LANGUAGE="JavaScript">
cur_index=1;
function searchSales()
{
var url = 'response1.asp';
var pars = 'cur_index='+cur_index;
var myAjax2 = new Ajax.Request(
url,
{
method: 'get',
parameters: pars,
onComplete: showResponse
});
cur_index++;
if(cur_index>4) cur_index=0;
}
function showResponse(originalRequest)
{
//put returned XML in the textarea
var xmlStr = originalRequest.responseText;
var mytitle,myurl;
//===========读取并处理xml文件==============================
var xmlReader = new XmlReader();
var xmlDoc = xmlReader.createXmlDoc();
if(xmlDoc!=null)
{
//读取包含xml的字符串
xmlDoc.async="False";
xmlDoc.loadXML(xmlStr);
//读取xml文件
//xmlDoc.async="False";
//xmlDoc.load(xmlFile);
//读取节点,返回包含节点的数组
//通过获取子节点获取所有信息
nodes = xmlDoc.documentElement.childNodes;
//alert("nodes:"+nodes.length);
for(var j=0;j<nodes.length;j++)
{
mytitle = nodes.item(j).getElementsByTagName("title").item(0).text;
myurl = nodes.item(j).getElementsByTagName("url").item(0).text;
}
//通过xpath查询获取信息
/**//*
var tabs = xmlDoc.selectNodes("images/image");
alert("tabs:"+tabs.length);
for(var i=0; i<tabs.length; i++)
{
mytitle = tabs.item(i).getElementsByTagName("title").item(0).text;
myurl = tabs.item(i).getElementsByTagName("url").item(0).text;
}
*/
xmlDoc=null;
}
xmlReader.close();
//===========页面效果和数据更新===============================
document.all('title').innerText=mytitle;
document.all('placeholder').style.backgroundImage='url('+pic.src+')';
pic.style.visibility='hidden';
//alert(originalRequest.responseText);
pic.src='pic/'+myurl;
pic.filters.revealTrans.Transition=6;
pic.filters.item(0).apply();
pic.style.visibility='visible';
pic.filters.item(0).play();
}
</script>
</head>
<body>
<input type=button value=next onclick="searchSales()">
<table width="151">
<tr><td width="151" height="171">
<div id="placeholder">
<img src='pic/001.gif' id='pic' name='pic' width="151" height="171" style='filter:revealtrans(duration=2.0,transition=0)'>
</div>
</td></tr><tr><td>
<div id="title"></div>
</td></tr>
</table>
</body></html>
2.服务器端页面getPicAction.asp
<%
img_list=Array("001.gif","002.gif","003.gif","004.gif","005.gif")
title_list=Array("image1","image2","image3","image4","image5")
cur_index=Request.QueryString("cur_index")
response.write "<images><image><id>"&cur_index&"</id><title>"&title_list(cur_index)&"</title><url>"&img_list(cur_index)&"</url></image></images>"
%> 3.xml文件解析器XmlReader.js
/**//**
/*操作示例
//===========读取并处理xml文件==============================
var mytitle,myurl;
var xmlReader = new XmlReader();
var xmlDoc = xmlReader.createXmlDoc();
if(xmlDoc!=null)
{
//读取包含xml的字符串
xmlDoc.async="False";
xmlDoc.loadXML(xmlStr);
//读取xml文件
//xmlDoc.async="False";
//xmlDoc.load(xmlFile);
//读取节点,返回包含节点的数组
//通过获取子节点遍历XML节点树(方法一)
nodes = xmlDoc.documentElement.childNodes;
//alert("nodes:"+nodes.length);
for(var j=0;j<nodes.length;j++)
{
mytitle = nodes.item(j).getElementsByTagName("title").item(0).text;
myurl = nodes.item(j).getElementsByTagName("url").item(0).text;
}
//通过xpath查询遍历XML节点树(方法二)
var tabs = xmlDoc.selectNodes("images/image");
alert("tabs:"+tabs.length);
for(var i=0; i<tabs.length; i++)
{
mytitle = tabs.item(i).getElementsByTagName("title").item(0).text;
myurl = tabs.item(i).getElementsByTagName("url").item(0).text;
}
xmlDoc=null;
}
xmlReader.close();
**/
function XmlReader()
< 8000 img src="http://www.blogjava.net/Images/dot.gif" alt="" />{
this.xmlDoc=null;
this.createXmlDoc=getXmlDoc;
this.close=closeXmlDoc;
}
function getXmlDoc()
{
if (window.ActiveXObject)
{
//document.write("Microsoft.XMLDOM");
this.xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
else if (document.implementation && document.implementation.createDocument)
{
//document.write("document.implementation.createDocument");
this.xmlDoc= document.implementation.createDocument("","doc",null);
}
if (typeof this.xmlDoc!="undefined")
{
return this.xmlDoc;
}else {
return null;
}
}
function closeXmlDoc()
{
this.xmlDoc=null
}
相关文章推荐
- SSH 网站制作之AJAX无刷新动态更新页面
- java爬虫webmagic 案例爬取动态(ajax+js) 网站京东售价格项目pom.xml
- AJAX核心对象-- XMLHttpRequest 对象使用详解 (一)
- 大型网站动态应用系统架构
- 大型网站动态应用系统架构(转)
- AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
- 浅谈大型网站动态应用系统架构
- 在Java2平台企业版中应用异步JavaScript技术和XML(AJAX)
- UML应用开发详解(更新程度:完毕)
- JSP动态网站环境搭建应用中的详细步骤(Tomcat和Apache/IIS的整合)
- [导入]从架构设计到系统实施——基于.NET 3.0的全新企业应用系列课程(4):设计基于IIS7和AJAX的网站.zip(7.53 MB)
- Ajax技术WEB开发__WEB2.0中AJAX应用的详解
- Ajax 应用模板(动态加载列表框)
- AJAX(XMLHttpRequest)进行跨域请求方法详解(二)
- (收藏) 浅谈大型网站动态应用系统架构
- AJAX(XMLHttpRequest)进行跨域请求方法详解(一)
- AJAX(XMLHttpRequest)进行跨域请求方法详解
- Ajax入门之XMLHttpRequest核心对象的详解
- Android应用更新详解,兼容7.0
- Vue2.X 通过AJAX动态更新数据