异步的javascript和XML数据格式:XML SOAP HTML

文章简介:Ajax和WEB服务数据格式:XML SOAP HTML.

当AJAX被创建的时候,他的原意是:Asynchronous JavaScript and XML,异步的javascript和XML,总的说来就是这样的:

  • 首先创建一个网络服务,比如可以传递HTTP GET/POST参数的PHP页面,然后返回一个XML格式的响应
  • 写一些客户端的js代码。比如传递参数和解析XML。这些调用是异步的,所以在等待数据的过程中浏览器不会被卡死。
  • 处理XML中的数据,然后更新DOM节点

AJAX这个名词被开发者和销售人员滥用了。今天这个本应该全大写缩写的词已经成为了一个新词,表示在不刷新页面的情况下的数据的传输。原因有:

  • 没有必要一定使用异步方法
  • 不一定使用JavaScript
  • 也不需要XML

最终,不论使用什么技术,你都要在两个设备之间传输数据。这是RockUX连载数据格式的第一部分,我们后面还会讲到更多的数据和特性。

XML

在一开始,XML是最佳选择。很多语言都有支持XML格式解析和序列化的函数。就算你使用的语言不支持XML,他其实也就是一段文本。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?xml
							version="1.0"?>
<products>
<book>
<title>The Principles of Beautiful Web Design, 2nd Edition</title>
<url>http://www.sitepoint.com/books/design2/</url>
<author>Jason Beaird</author>
<publisher>SitePoint</publisher>
<price
							currency="USD">39.95</price>
</book>
<book>
<title>jQuery: Novice to Ninja</title>
<url>http://www.sitepoint.com/books/jquery1/</url>
<author>Earle Castledine & Craig Sharkie</author>
<publisher>SitePoint</publisher>
<price
							currency="USD">29.95</price>
</book>
<book>
<title>Build Your Own Database Driven Website</title>
<url>http://www.sitepoint.com/books/phpmysql4/</url>
<author>Kevin Yank</author>
<publisher>SitePoint</publisher>
<price
							currency="USD">39.95</price>
</book>
</products>

XML的好处有:

  • XML是可读的而且容易理解。
  • 很多语言都对XML有很好的支持,关键是JavaScript。
  • XML比较安全。数据必须被提取和解析,所以恶意数据得到有效的遏制

但是,XML也有他的缺点:

  • 永远不会有行业统一认可的XML的格式。你需要适配RSS等等,客户端的JavaScript必须理解才行
  • XML格式的数据可能标签比数据的量还大,异步交互情况下,数据越小越好。
  • XML有一些模棱两可的地方,一个数据应该是一个新元素呢还是元数据的属性呢?作为属性可能文件小一点,但是适配这个却不方便。
  • JavaScritp中解析XML很费劲,XPath的支持比较好,所以需要先转换
1
2
3
4
// grab value in first <data> element
var xml = xhr.responseXML;
var nodes = xml.getElementsByTagName("data");
var data =
						(nodes.length
						>
						0
						? nodes[0].firstChild.nodeValue
						:
						null);

很多开发人员认为XML已经死了,但是我不太同意,可能现在XML不是Ajax的最佳选择,但是你也不能知道所有的web服务怎么部署的。而且XML的普及是一个伟大的事情,不要忽略它。

SOAP

SOAP是数据交换的一个标准格式。详细的技术细节文档有好几百页,总的来说,SOAP依赖于定义好的XML schemas。
很少有开发者世界使用SOAP(看见就够了)。SOAP的魅力在于客户端的库可以自动将XML转换成原生的对象。比如.NET的开发人员可以创建一个基于SOAP的网络服务,客户端不需要做太多的事情。作为开发人员,大多使用C#,他们不用在乎远程的机器使用什么东西。
但是SOAP的缺点:

  • SOAP甚至超越了XML的冗长
  • 在JavaScript中处理SOAP依然很困难。虽然SOAP的库可以协助处理,但是对于开发人员和浏览器来说还是有很大压力的

SOAP仍然是服务端之间通信的选择,尤其是在同一个局域网的情况下。但是在Ajax中用的不多。

HTML

如果你想通过Ajax请求在页面中插入代码,HTML是一个简单的格式,不用做太多的处理。例如,假设你在每一个页面都需要显示一个购物车。你在服务器端已经有了这样的HTML代码,那么在选购了意见商品之后就可以返回同样的HTML代码。
它的好处包括:

  • 很方便使用现有代码,创建网络服务
  • 不需要在客户端进行复杂的数据处理
  • HTML代码可以通过innerHTML快速插入到页面中

但是也有缺点:

  • 很难分离出来真正有价值的数据。比如你想在其他地方以不同的方式显示购物车,这时候就不能用了
  • 传输的数据量也比较大,比XML还大
  • 插入HTML会有破坏现有页面的风险
  • 安全可能成问题,相应的数据可能会有恶意代码

在RockUX后面的文章中我们会讲到:

  • Ajax和WEB服务的数据格式:JSON和JSONP
  • Ajax和WEB服务的数据格式:自定义返回格式

转载请注明:
作者:RockUX–WEB前端
出自:Ajax和WEB服务数据格式:XML SOAP HTML

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索xml
, 数据
, 代码
, soap
, 格式
, 一个
, xml数据格式
xml格式数据
soap协议、php soap、soap glory、goat soap、dish soap,以便于您获取更多的相关知识。

时间: 2024-09-27 17:27:32

异步的javascript和XML数据格式:XML SOAP HTML的相关文章

Javascript控制XSlt转换XML

javascript|xml|控制|转换 html> <body> <script language="javascript"> // Load XML  var xml = new ActiveXObject("Microsoft.XMLDOM") xml.async = false xml.load("cd_catalog.xml") // Load the XSL var xsl = new ActiveXOb

xml-WCF 向客户端返回XML数据格式报错,请大神赐教“”超出最大字符串内容长度配额(8192)“”

问题描述 WCF 向客户端返回XML数据格式报错,请大神赐教""超出最大字符串内容长度配额(8192)"" !服务端配置 客户端配置 服务端返回客户端XML数据报错提示 解决方案 http://blog.csdn.net/yang_5/article/details/11775819

如何通过javascript将数据写入XML文件中?

问题描述 如何通过javascript将数据写入XML文件中? 现在想要从chrome浏览器中用javascript将数据写入xml文件中,可是差了很多资料都没有结果,所以请各位大神指点指点!!! 解决方案 浏览器的javascript只能读取和解析XML,还不能进行写操作,要是服务端的javascript可以进行写操作,

PHP XML error parsing SOAP payload on line 1_php技巧

WebService,想必大家都比较熟悉,是由"服务提供方"向"服务调用方"提供服务的一种方式.里面有几项关键的技术: XML:描述数据的标准方法 SOAP:简单对象访问协议,用于信息交换 WSDL:Web服务描述语言 UDDI:通用描述.发现与集成,它是一种独立于平台的,基于XML语言的用于在互联网上描述商务的协议. SOAP默认传输的都是UTF-8的编码,这也决定了默认情况下WebService用的也是UTF-8编码. 现在维护的那个项目是一个PHP项目,编码用

javascript 解析后的xml对象的读取方法细解_javascript技巧

读取的xml: 复制代码 代码如下: <svg id="svgID" key="1"> <desc id= "descID"> Text1 </desc> <defs> Text2 </defs> <g> text3 </g> </svg> javascript对此xml的解析方法如下: 复制代码 代码如下: <html xmlns="

【JavaScript】JS读取XML文件并进行搜索

需求效果 点击链接,当前页面加载xml文件并展示对应内容 通过搜索框,搜索xml文件内节点数据,展示包含内容的节点数据 功能实现 Demo最终实现效果 http://loadxmldemo.coderfix.cn/ 核心代码 String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2); } //查询和标签 function GetXmlByQuery(st

【转载】Web Services&amp;amp;XML:XML与HTML的结合(数据岛的应用)

    目前,许多Web网站的内容数据都存放在数据库或数据文件中.对于Web程序开发人员来说,如果要想把有用的信息从数据库中提取出来,传统的方法 是在服务器端编写脚本程序(如VBScript.javascript.CGI.ASP.Perl等等),通过对数据库执行SQL查询得到相关记录,然后 把查询结果组织成HTML页面返回给客户端,用户使用浏览器观察最终结果. 为了提高系统服务的灵活性.可扩展性,使服务对象范围更 广,许多商业网站都尽可能地把商务规则.原始数据和表现形式当做相互独立的服务分别提供

亲密接触xml(1)---XML简介

xml   XML简介:什么是XML,它与HTML有什么不同.   如何使用XML:使用XML的几种方式.   XML语法:XML的简单但非常严格的语法规则.   XML元素:XML元素.关系.内容及命名规则.   XML属性:XML属性是如何用来描述元素以及提供元素的附加信息的.   XML确认:一个格式良好的XML与一个有效的XML之间的主要区别,一个DTD是如何用来定义XML文档的.   XML在Netscape和Explorer中的支持情况:关于XML在这两个最著名的浏览器上的支持情况.

XML指南——XML 浏览器(Netscape、Explorer)

xml|浏览器    在我们这个XML指南里,我们把焦点放在Internet Explorer 5.0及其以后的版本上. Web站点上的XML 许多应用程序都支持XML.我们主要研究Internet Explorer 5.X+ 对此有些人可能会抱怨,但是我们只想把事情简单化,在网络环境中这时我们所知道的唯一一个真实测试XML例子的方法. XML Netscape 6 Netscape 6 支持 XML. 在Netscape 6中察看XML源文件可以在页面上点鼠标右键,然后选择"察看源文件&quo