Welcome

首页 / 脚本样式 / Ajax / 在Ajax中进行XML处理,第3部分: 使用JSON并避免使用代理

在Ajax中进行XML处理,第3部分: 使用JSON并避免使用代理2011-12-26 IBM developerWorks Mark Pruett简介:Ajax 风格的服务器调用不一定使用 XMLHttp 请求。本系列的最后一部分介绍天气面板的最后一种方法,利用 Web 公共服务 JavaScript Object Notation (JSON) 和动态脚本标记来实现。

前两部分介绍了三种方法创建可重用的天气面板。这些方法都采用了 Asynchronous JavaScript™ + XML (Ajax) 技术,特别是 JavaScript XMLHttpRequest 对象 来实现天气面板库。这些方法都使用了某种形式的 Web 代理将 XML 天气数据从 National Weather Service (NWS) XML 搬到我的服务器上,以避免 Ajax 的同一域问题。

本系列的 第 1 部分 详细讨论了同一域 问题,出于安全上的考虑将 XMLHttp 请求限制到提供原始 Web 页面的同一台服务器上。实际上,很多 Ajax 应用程序都需要超 出一台服务器范围之外的其他数据。因此设计的时候必须确定访问 Web 服务器配置(比如创建 Apache ProxyPass 规则)还是创建专门的服务器脚本。

实践证明,还有另一种办法。它避免了同一域问题,程序员不需要处理上面所述的任务。

方法 4 需要的工具

详细讨论天气面板库的最后一种实现之前,首先介绍一下所需的工具:

Yahoo! Pipes

JSON

动态脚本标记

Yahoo! Pipes

Yahoo! Pipes 是一种基于 Web 的工具,可以聚合能够通过 Web 访问的不同类型的数据,比如 RSS 提要。Yahoo! Pipes 使用图形化编辑器(如 图 1)编辑器创建,该 编辑器可在标准 Web 浏览器中运行,如 Windows® Internet Explorer® 或 Firefox。

图 1. Yahoo! Pipes 编辑器