songtianbao 发表于 2013-1-29 10:37:28

掌握 Ajax,第 7 部分: 在请求和响应中使用 XML

            了解什么时候适合什么时候不适合使用 XML
            http://www.ibm.com/i/c.gif            http://www.ibm.com/developerworks/i/dw.gif      http://www.ibm.com/i/c.gif                        http://www.ibm.com/i/c.gif                                                文档选项                                                                  http://www.ibm.com/i/c.gif                                                http://www.ibm.com/i/v14/icons/em.gif                                                                                                将此页作为电子邮件发送
                                                                                          <noscript></noscript>                                                                      <!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- this content will be automatically generated across all content areas -->
<!--END RESERVED FOR FUTURE USE INCLUDE FILES-->
                  级别: 中级
            Brett McLaughlin (brett@oreilly.com), 作家,编辑, O'Reilly and Associates

            2006 年 10 月 23 日
            偶尔使用 Ajax 的开发人员也会注意到 Ajax 中的 x 并意识到它代表 XML。XML 是编程中最常用的数据格式之一,对于异步应用程序中的服务器响应能够带来切实的好处。在本文中,您将看到服务器如何在请求响应中发送 XML。<!--START RESERVED FOR FUTURE USE INCLUDE FILES--><!-- include java script once we verify teams wants to use this and it will work on dbcs and cyrillic characters --><!--END RESERVED FOR FUTURE USE INCLUDE FILES-->            现在如果不使用 XML 就不能进行任何有意义的编程。无论考虑转向 XHTML 的网页设计人员、使用 JavaScript 的 Web 程序员、使用部署描述文件和数据绑定的服务器端程序员,还是研究基于 XML 的数据库的后端开发人员,都在使用这种可扩展标记语言。因此,XML 被认为是 Ajax 底层的核心技术之一就不足为奇了。
            但是,这种观点反映到 Ajax 应用程序就表现在其核心对象所选的名称 —— XMLHttpRequest,这个名称不是很好,因为它并没有反映技术上的实际情况。换句话说,多数人之所以认为 XML 是 Ajax 的核心组成部分,仅仅是因为他们想当然地以为 XMLHttpRequest 对象在任何时候都使用 XML。但实情并非如此,本文第一部分给出了原因。实际上,您将看到在多数 Ajax 应用程序中 XML 很少出现。
            XML 确实有应用在 Ajax 中,而且 XMLHttpRequest 也支持这种用法。也确实没有什么能阻挡您向服务器发送 XML。在本系列前面的文章中,我们使用普通文本和名/值参数发送数据,但 XML 也是一种可行的格式。本文将介绍如何来这样做。但最重要的是,我将讨论为何可以使用 XML 作为请求格式,以及为何在多数情况下不应该使用它。
            使用 XML(真正)
            到目前为止,我说的只是 Ajax 在哪些地方不使用 XML。但 Ajax 中的 x 和 XMLHttpRequest 中的 XML 仍然有其实际意义,在 Web 应用程序中使用 XML 有多种选择。这一节将讨论基本的选择,剩下的部分再深入探讨细节问题。
            从客户机到服务器的 XML
            我们来看看将 XML 作为从客户机向服务器发送数据的格式。我们首先讨论技术上的实现,然后花些时间分析什么时候适合什么时候不适合使用它。
            发送 XML:好还是不好?
            在结束 XML 响应的 XML 请求(以及本文)之前,我们花点时间讨论一下在请求中使用 XML 的感受。前面已经提到,就传输而言 XML 完全不是最快的方式,但是还有更多因素要考虑。
            结束语
            通过本文,您现在可能已经开始对 Ajax 中的 XML 有一些更深的理解了。您知道 Ajax 应用程序不一定要使用 XML,XML 也不是数据传输中的什么法宝。还知道从网页向服务器发送 XML 不是多么难的事情。更重要的是,您知道为了确保服务器能够处理和响应请求需要做什么:必须保证服务器脚本接受 XML,而且能够识别用于发送数据的格式。
            您还应该非常清楚 XML 对于请求来说并不一定是很好的数据格式。在以后的文章中,您将看到 XML 在某些情况下是有利的,但在多数请求中,它只会降低速度和增加复杂性。因此虽然通常我都会建议您马上应用在文章中学到的内容,但是对本文来说,我建议您在应用这里学到的知识时最好三思而后行。XML 请求在 Ajax 应用程序中有自己的价值,但是并不像您所想象的那么大。
            在下一期文章中,我们将讨论服务器如何使用 XML 做出响应,以及 Web 应用程序如何处理这些响应。令人高兴的是,服务器能够将 XML 发送回 Web 应用程序,这样做的理由比较充分,因此那篇文章中的技术细节更实用,目前您只需要知道 XML 为何并非一定是最佳选择 —— 至少对发送请求而言。您可以尝试使用 XML 作为请求数据格式实现某些 Web 应用程序,然后再换回普通文本,看看哪种办法更快更简单。下一期文章再见。
            
      來自 http://www.ibm.com/developerworks/cn/xml/wa-ajaxintro7.html
页: [1]
查看完整版本: 掌握 Ajax,第 7 部分: 在请求和响应中使用 XML