- 3
- 0
- 约9.79千字
- 约 8页
- 2017-06-11 发布于北京
- 举报
偶尔使用 Ajax 的开发人员也会注意到 Ajax 中的 x 并意识到它代表 XML。XML 是编程中最常用的数据格式之一,对于异步应用程序中的服务器响应能够带来切实的好处。在本文中,您将看到服务器如何在请求响应中发送 XML。
现在如果不使用 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)及其使用的核心对象(XMLHttpRequest)都暗示了 XML 的使用,谈到 Ajax 应用程序的时候也经常听到 XML。但是,这种观点大错特错,如果希望在编写异步应用程序时真正做到胸有成竹,必须知道这种想法是错误的,而且最好知道为什么错误。
XMLHttpRequest:糟糕的名称和 HTTP
一项技术可能遇到的最糟的境况之一是它变得太炙手可热以至于无法再改变它的一些基本内容。XMLHttpRequest 恰恰是这种情形,它是 Ajax 应用程序中使用的基本对象。听起来它似乎是为通过 HTTP 请求发送 XML 或者以某种 XML 格式发出 HTTP 请求而设计的。但不论这个对象的名称听起来像什么,实际上它要做的只不过是为客户机代码(在网页中通常是 JavaScript)提供一种发送 HTTP 请求的方式。仅此而已,别无其他。
因此,如果将 XMLHttpRequest 改成某种更准确的名称可能更好一些,比如 HttpRequest,或者简简单单的 Request。但是,现在成千上万的人在应用程序中使用了 Ajax,而且我们知道需要几年时间(如果不是十几年的话)大部分用户才会改用 Internet Explorer 7.0 或 Firefox 1.5 这些新版本的浏览器,因此这么修改实际上是不可行的。最终我们不得不使用 XMLHttpRequest,这就要求开发人员要知道其名不符实的这一事实。
在一定程度上讲,对于不支持 XMLHttpRequest 的浏览器(特别是在 Windows 上)的最佳回溯方法之一就是使用 Microsoft IFRAME 对象。听起来可不像是 XML、HTTP 或请求,是不是?当然,所有这些都可能涉及到,但是这正清楚地说明了一点 —— XMLHttpRequest 对象更多的是关于在不重新加载页面的情况发出请求,而不会太多地涉及 XML 甚至 HTTP。
请求是 HTTP 而非 XML
另一种常见的错误是认为 XML 在幕后使用 —— 坦白地说,我也曾这么认为!但是,持这种观点表明您对这种技术还不甚了解。当用户打开浏览器从服务器上请求网页时,会输入 或者 这样的东西。即便不输入 http://,浏览器也会在地址栏的这部分加上。第一部分,即 http://,是关于如何通信的很直观的线索:通过超文本传输协议 HTTP。在网页中编写代码与服务器通信时,无论使用 Ajax 还是普通的表单 POST,甚至超链接,打交道的都是 HTTP。
HTTPS:仍然是 HTTP
那些刚接触 Web 的人可能对 这样的 URL 感到奇怪。https 表示安全的 HTTP,只是使用了比一般 Web 请求更安全的 HTTP 协议形式。因此即便是 HTTPS,实际上用的仍然是 HTTP,虽然增加了某些安全层来挡住那些好奇的眼睛。
既然浏览器和服务器之间的所有 Web 通信都通过 HTTP 进行,认为 XML 是 XMLHttpRequest 幕后所用的某种传输技术的想法就毫无道理了。当然在 HTTP
您可能关注的文档
最近下载
- GB50461-2024:石油化工静设备安装工程施工质量验收规范.pptx VIP
- 2023年浙江省军队转业干部录用考试试题.docx VIP
- 口渴了-朋友帮你.ppt VIP
- Xikong西莱克低温机控制板SHXK814用户手册.pdf
- 爱迪生牛顿大发明攻略.doc VIP
- 重庆天齐锂电新材料有限公司新建1000吨_年高能锂电材料电池级金属锂项目环评报告.pdf VIP
- 朗文3A复习资料及垃圾分类作文8篇.doc VIP
- DB65T 3694-2015 现行哈萨克文与西里尔哈萨克文编码字符转换规则.docx VIP
- 华为云服务登录.doc VIP
- 采砂场工业用水水资源论证论证表详解.doc VIP
原创力文档

文档评论(0)