PHP 和 AJAX 打造高级 RSS 聚合器
RSS 聚合器是一种特别适合于使用标准 AJAX 引擎进行构建的应用程序,然而,要实现对
RSS 回馈的跨域的 AJAX 请求往往是很难的。在本文中将向你展示如何利用一个简单的
PHP 函数来实现"桥接"AJAX 引擎和 RSS 内容。
一、 引言
现在,开发一个 RSS 聚合器已经不再是困难的事情,但是开发一个高质量的 RSS 聚合器却
仍然存在相当的难度。另一方面,创建一个定制聚合器一般不是很难,并且在这种聚合器
内能够提供一个你自己选择的接口。RSS 聚合代表了一类特别适合于一个 AJAX 应用程序
所消费的数据,这是因为:它是 XML 格式的,并且 AJAX 能够良好地显示新的回馈而不
必进行页面刷新。然而问题总是存在:在一个标准的 AJAX 引擎中实现跨域的 AJAX 请求
是不可能的。在本文中,我将向你展示如何利用一个很简单的 PHP 函数来桥接 AJAX 引擎
和远程内容(在本文中它指的是 RSS 回馈)。
【提示】 本文假定你已经对 PHP 有一个基本理解并且有使用 AJAX 和分析 XML 的经验。
要全面理解本文所提供的示例,你需要下载相应的源码文件。
二、 开始
在我们正式开始前,我想简短地介绍一下我们将用于发出请求的 AJAX 引擎。该引擎能够
简化 AJAX 调用并且有助于消除当发出请求和调度响应时存在的大量冗余。我不会详细讨
论它的组成代码,而仅向你简短地介绍我们在本文中如何使用它。
首先,我们需要导入构成该引擎的所有 JavaScript 文件。包含在我们的 index.html 文件中的
代码看起来如下所示:
<script type="text/Javascript" src="js/model/HTTP.js"></script>
<script type="text/javascript" src="js/model/Ajax.js"></script>
<script type="text/javascript" src="js/model/AjaxUpdater.js"></script>
一旦我们导入该 JavaScript 文件,我们就可以通过编写类似下列的代码来发出一个请求:
AjaxUpdater.Update('GET', 'url',callbackMethod);">
该 AjaxUpdater 是一个对象,它负责处理我们的 AJAX 调用。我们简单地调用它的 Update
方法并且传递请求的方法,我们请求的 URL,以及我们想把该响应代理到的回调方法。
当发出我们的请求时,这就是所有我们需要关心的。现在,让我们集中于定制 RSS 聚合器
的功能。
三、 入口点