ajax技术:ajax架构中主要涉及的技术介绍

ajax架构中主要涉及的技术:
client:javascript解析xml,操纵DOM修改html页面,javascript是“OO”的语言。
server:servlet+dao,实现service接口即可

下面是client中主要的代码:
1。JS中封装解析xml的代码,以及实例应用。
Quote
//类的构造,传入xml文档和需要处理的标签名称
functionDataSet(xmldoc,tagLabel){
this.rootObj=xmldoc.getElementsByTagName(tagLabel)

//3个方法
this.getCount=getCount
this.getData=getData
this.getAttribute=getAttribute
}
functiongetCount(){
returnthis.rootObj.length
}
functiongetData(index,tagName){
if(index>=this.count)return\"indexoverflow\"
varnode=this.rootObj[index]
varstr=node.getElementsByTagName(tagName)[0].firstChild.data
returnstr
}

functiongetAttribute(index,tagName){
if(index>=this.count)return\"indexoverflow\"
varnode=this.rootObj[index]
varstr=node.getAttribute(tagName)
returnstr
}
//如何使用DataSet类
functionupdateByXML(xmlDoc){

varemployeeDS=newDataSet(xmlDoc,\"employee\");//关心的标签名称
varcount=employeeDS.getCount()
for(i=0;i<count;i++){
varname=employeeDS.getAttribute(i,\"name\")
varjob=employeeDS.getData(i,\"job\")
varsalary=employeeDS.getData(i,\"salary\")
alert(name+\",\"+job+\",\"+salary)
}
//使用的xml格式,类似如下
<?xmlversion=\"1.0\"encoding=\"gb2312\"?>
<employees>
<employeename=\"Billgates\">
<job>Programmer</job>
<salary>32768</salary>
</employee>
<employeename=\"王涛\">
<job>无业游民</job>
<salary>70000</salary>
</employee>
<employeename=\"Big中华\">
<job>哈尔滨CEO</job>
<salary>100000</salary>
</employee>
</employees>
2。操纵DOM,创建table,显示获得的数据
Quote
functiondeleteOldTable(){
delRow=document.getElementsByTagName(\"table\").length
//此句仅在本例中使用,因为本例中已经有一个table了,因此不能删除,需要根据情况变化一下2005.11.17
if(delRow==1)return

varnode=document.getElementsByTagName(\"table\")[delRow-1];//表格
varc=node.childNodes.length [Page]
for(i=0;i<c;i++)
node.removeChild(node.childNodes[0]);//删除全部单元行
}

//传入DataSet的一个实例即可
functionmakeTable(m_ds){

deleteOldTable()//先清除以前的结果

vartable=document.createElement(\"table\");
table.setAttribute(\"border\",\"1\");
table.setAttribute(\"width\",\"100%\");

document.body.appendChild(table);
varheader=table.createTHead();
varheaderrow=header.insertRow(0);
headerrow.insertCell(0).appendChild(document.createTextNode(\"姓名\"));
headerrow.insertCell(1).appendChild(document.createTextNode(\"职业\"));
headerrow.insertCell(2).appendChild(document.createTextNode(\"工资\"));

for(vari=0;i<m_ds.getCount();i++){
varname=m_ds.getAttribute(i,\"name\")
varjob=m_ds.getData(i,\"job\")
varsalary=m_ds.getData(i,\"salary\")

varrow=table.insertRow(i+1);
row.insertCell(0).appendChild(document.createTextNode(name));
row.insertCell(1).appendChild(document.createTextNode(job));
row.insertCell(2).appendChild(document.createTextNode(salary));
}
}
Tags:  asp.netajax ajax无刷新技术 asp.netajax技术 ajax技术

延伸阅读

最新评论

发表评论