分享
 
 
 

Ajax基础必读:AJAX中的一些关键技术

王朝other·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

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

client: javascript解析xml, 操纵DOM修改html页面,javascript是“OO”的语言。

server: servlet + dao, 实现service接口即可

下面是client中主要的代码:

1。JS中封装解析xml的代码,以及实例应用。

Quote

//类的构造,传入xml文档和需要处理的标签名称

function DataSet(xmldoc, tagLabel) {

this.rootObj = xmldoc.getElementsByTagName(tagLabel)

//3个方法

this.getCount = getCount

this.getData = getData

this.getAttribute = getAttribute

}

function getCount(){

return this.rootObj.length

}

function getData(index, tagName){

if (index >= this.count) return "index overflow"

var node = this.rootObj[index]

var str = node.getElementsByTagName(tagName)[0].firstChild.data

return str

}

function getAttribute(index, tagName) {

if (index >= this.count) return "index overflow"

var node = this.rootObj[index]

var str = node.getAttribute(tagName)

return str

}

//如何使用DataSet类

function updateByXML(xmlDoc) {

var employeeDS = new DataSet(xmlDoc,"employee"); //关心的标签名称

var count = employeeDS.getCount()

for(i=0;i<count;i++) {

var name = employeeDS.getAttribute(i,"name")

var job = employeeDS.getData(i,"job")

var salary = employeeDS.getData(i,"salary")

alert(name + "," + job + "," + salary)

}

//使用的xml格式,类似如下

<?xml version="1.0" encoding="gb2312"?>

<employees>

<employee name="Billgates">

<job>Programmer</job>

<salary>32768</salary>

</employee>

<employee name="王涛">

<job>无业游民</job>

<salary>70000</salary>

</employee>

<employee name="Big 中华">

<job>哈尔滨CEO</job>

<salary>100000</salary>

</employee>

</employees>

2。操纵DOM,创建table,显示获得的数据

Quote

function deleteOldTable() {

delRow = document.getElementsByTagName("table").length

//此句仅在本例中使用,因为本例中已经有一个table了,因此不能删除,需要根据情况变化一下2005.11.17

if(delRow == 1) return

var node = document.getElementsByTagName("table")[delRow-1]; //表格

var c = node.childNodes.length

for(i=0;i<c;i++)

node.removeChild(node.childNodes[0]); //删除全部单元行

}

//传入DataSet的一个实例即可

function makeTable(m_ds) {

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

var table = document.createElement("table");

table.setAttribute("border","1");

table.setAttribute("width","100%");

document.body.appendChild(table);

var header = table.createTHead();

var headerrow = header.insertRow(0);

headerrow.insertCell(0).appendChild(document.createTextNode("姓名"));

headerrow.insertCell(1).appendChild(document.createTextNode("职业"));

headerrow.insertCell(2).appendChild(document.createTextNode("工资"));

for(var i=0;i<m_ds.getCount();i++) {

var name = m_ds.getAttribute(i,"name")

var job = m_ds.getData(i,"job")

var salary = m_ds.getData(i,"salary")

var row = 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));

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有