以XML格式传输数据 (2)--Ajax学习笔记
2007-12-11 19:57
621 查看
接着说从服务器发出XML格式数据响应到客户段的情况,并且说明它有什么好处,以及如何实现的,在WEB应用中客户端发出请求等待服务器响应过程中,服务器可以根据客户端请求的不同而进行相应的响应,除非是想获得一个很简单的数据,如年龄,姓名等,这时候服务器可以直接返回一个原始数据就可以了,但是恰恰不巧的是,在Ajax应用中多数请求是为了获得一组数据如一个用户的所有信息,或者一组用户的所有信息.这时候简单的文本就满足不了了,此时XML则是最好的选择如,有一个用户资料如下:
name= lionest
age=20
sex=man
phone=122266666
如果服务器用名/值对来发送的话,name=lionest&age=20&sex=man&phone=122266666,在客户端可能会根据不同的浏览器会得到有不同的结果!
1.name=lionest|age=20|sex=man|phone=122266666,
2.name|lionest|age|20|sex|man|phone|122266666,
然而如果使用XML格式来发送的话,无论客户端是什么样的浏览器得到的结果肯定是一样的,因为它是以固定的XML格式发送的,解析的时候必须按照XML格式来.
<user>
<name>lionest</name>
<age>20</age>
<sex>man</sex>
<phone>122266666</phone>
</user>
到现在服务器已经把XML的数据发送到客户端了,客户端怎么来处理呢,有两种方式,其实就是两个XMLHttpRequest属性 一个是responseText, 另一个是responseXML.从字面上应该可以看出它们的意思,前者是响应的文本,后者则是响应的XML格式.
如果你用前者来接受响应的话,当然可以,但是得到的和服务器传过的一模一样,如:
<user><name>lionest</name><age>20</age><sex>man</sex><phone>122266666</phone></user>
您该怎么处理这些数据呢,用正则来拆吧,这是一件对于那些没有对正则表达式语言的程序员很头疼的一件事.而且这样也不是我们所说的Ajax了!
所以我们来看看第二个属性responseXML,
if (request.readyState == 4) {
if (request.status == 200) {
var xmlDoc = request.responseXML;
var showElements = xmlDoc.getElementsByTagName("user");
var user = showElements[0];
var attributes=user.childNodes;
var attribute=false;
var value=false;
for(var x=0;x<attributes.length;x++){
var attibute=attributes[i].nodeName;
var value=attributes[i].nodeValues;
alert(attribute+"="+value);
}
}
}
上面的简单例子已经说明了,在从服务器发出响应的时候,用XML作为数据格式传递还是很高效的,客户端处理起来也很方便,可以看出它和从客户端发出请求时的情况恰恰相反!
name= lionest
age=20
sex=man
phone=122266666
如果服务器用名/值对来发送的话,name=lionest&age=20&sex=man&phone=122266666,在客户端可能会根据不同的浏览器会得到有不同的结果!
1.name=lionest|age=20|sex=man|phone=122266666,
2.name|lionest|age|20|sex|man|phone|122266666,
然而如果使用XML格式来发送的话,无论客户端是什么样的浏览器得到的结果肯定是一样的,因为它是以固定的XML格式发送的,解析的时候必须按照XML格式来.
<user>
<name>lionest</name>
<age>20</age>
<sex>man</sex>
<phone>122266666</phone>
</user>
到现在服务器已经把XML的数据发送到客户端了,客户端怎么来处理呢,有两种方式,其实就是两个XMLHttpRequest属性 一个是responseText, 另一个是responseXML.从字面上应该可以看出它们的意思,前者是响应的文本,后者则是响应的XML格式.
如果你用前者来接受响应的话,当然可以,但是得到的和服务器传过的一模一样,如:
<user><name>lionest</name><age>20</age><sex>man</sex><phone>122266666</phone></user>
您该怎么处理这些数据呢,用正则来拆吧,这是一件对于那些没有对正则表达式语言的程序员很头疼的一件事.而且这样也不是我们所说的Ajax了!
所以我们来看看第二个属性responseXML,
if (request.readyState == 4) {
if (request.status == 200) {
var xmlDoc = request.responseXML;
var showElements = xmlDoc.getElementsByTagName("user");
var user = showElements[0];
var attributes=user.childNodes;
var attribute=false;
var value=false;
for(var x=0;x<attributes.length;x++){
var attibute=attributes[i].nodeName;
var value=attributes[i].nodeValues;
alert(attribute+"="+value);
}
}
}
上面的简单例子已经说明了,在从服务器发出响应的时候,用XML作为数据格式传递还是很高效的,客户端处理起来也很方便,可以看出它和从客户端发出请求时的情况恰恰相反!
相关文章推荐
- 以XML格式传输数据 (1)--Ajax学习笔记
- 以XML格式传输数据 (1)--Ajax学习笔记
- 以XML格式传输数据 (2)--Ajax学习笔记
- 学习笔记--Ajax:XML格式返回数据
- ALSA声卡10_从零编写之数据传输_学习笔记
- ffmpeg--学习笔记(二)-将电脑的摄像头数据传输到服务器上去
- 【DWR】学习笔记(一):基本配置&&前后台的数据传输与处理
- node学习笔记(二)(ajax方式向node后台提交数据)
- 学习笔记--Ajax:html格式返回数据
- ajax学习系列之十: 使用 JSON 进行数据传输
- jQuery学习笔记之 Ajax操作篇(二) - 数据传递
- jQuery学习笔记之 Ajax操作篇(一) - 数据加载
- JSON数据传输学习笔记
- Javascript学习指南(第2版)笔记(六) DOM、Ajax及其数据
- 【Spring学习笔记-MVC-5】利用spring MVC框架,实现ajax异步请求以及json数据的返回
- [WCF 学习笔记] 8. 数据传输
- jQuery学习笔记--ajax查询,jQuery解析返回的json数据 详解
- jQuery 学习笔记四 Ajax提交数据
- PHP学习笔记(六):通过ajax实时匹配后台的数据
- Ajax处理JSON数据参考【学习笔记】