PHP和AJAX的RSS阅读器
RSS阅读器是用来读取RSS信息
允许快速的RSS浏览新闻和更新
AJAX的RSS阅读器
在AJAX以下例子,我们将展示一个RSS阅读器的内容从RSS是载入网页无需刷新。
在HTML表单
这是HTML网页。它包含一个简单的HTML表格,并链接到一个JavaScript :
<html> <head> <script type="text/javascript" src="getrss.js"></script> </head> <body>
<form> Select an RSS-Feed: <select onchange="showRSS(this.value)"> <option value="Google">Google News</option> <option value="MSNBC">MSNBC News</option> </select> </form>
<p><div id="rssOutput"> <b>RSS Feed will be listed here.</b></div></p> </body> </html>
例如解释-的H TML表单
正如你可以看到, HTML网页上面载有一个简单的HTML表单的下拉框。
作品的形式像这样:
事件触发时,用户选择一个选项在下拉框中
当事件触发的功能要求showRSS ( )被处决。
下面的形式是一个<div>所谓的“ rssOutput ” 。这是作为一个占位符返回的数据showRSS ( )函数。转载请注明来自http://www.111cn.net/wy/yw.html
的JavaScript
JavaScript代码是储存在“ getrss.js ”和相关的HTML文件:
var xmlHttp
function showRSS(str) { xmlHttp=GetXmlHttpObject() if (xmlHttp==null) { alert ("Browser does not support HTTP Request") return } var url="getrss.php" url=url+"?q="+str url=url+"&sid="+Math.random() xmlHttp.onreadystatechange=stateChanged xmlHttp.open("GET",url,true) xmlHttp.send(null) } function stateChanged() { if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") { document.getElementById("rssOutput") .innerHTML=xmlHttp.responseText } }
function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=new XMLHttpRequest(); } catch (e) { // Internet Explorer try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP"); } } return xmlHttp; }
例如解释
该stateChanged ( )和GetXmlHttpObject职能是一样的PHP的AJAX推荐的篇章。
该showRSS ( )函数
每一次的选择是选择在输入外地执行这一职能如下:
界定了网址(档)传送给服务器
添加一个参数( Q )的网址与选定的选项从下拉框中
添加一个随机数字,以防止服务器使用快取档案
吁请GetXmlHttpObject函数创建一个XMLHTTP物件,并讲述了对象执行的功能要求时stateChanged变化是触发
开幕XMLHTTP物件与特定网址。
发送一个HTTP请求到服务器
PHP页面
网页服务器要求的JavaScript代码是一个PHP文件名为“ getrss.php ” :
<?php //get the q parameter from URL $q=$_GET["q"];
//find out which feed was selected if($q=="Google") { $xml=("http://news.google.com/news?ned=us&topic=h&output=rss"); } elseif($q=="MSNBC") { $xml=("http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml"); }
$xmlDoc = new DOMDocument(); $xmlDoc->load($xml);
//get elements from "<channel>" $channel=$xmlDoc->getElementsByTagName('channel')->item(0); $channel_title = $channel->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $channel_link = $channel->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $channel_desc = $channel->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue;
//output elements from "<channel>" echo("<p><a href='" . $channel_link . "'>" . $channel_title . "</a>"); echo("<br />"); echo($channel_desc . "</p>");
//get and output "<item>" elements $x=$xmlDoc->getElementsByTagName('item'); for ($i=0; $i<=2; $i++) { $item_title=$x->item($i)->getElementsByTagName('title') ->item(0)->childNodes->item(0)->nodeValue; $item_link=$x->item($i)->getElementsByTagName('link') ->item(0)->childNodes->item(0)->nodeValue; $item_desc=$x->item($i)->getElementsByTagName('description') ->item(0)->childNodes->item(0)->nodeValue;
echo ("<p><a href='" . $item_link . "'>" . $item_title . "</a>"); echo ("<br />"); echo ($item_desc . "</p>"); } ?>转载请注明来自http://www.111cn.net/wy/yw.html
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索javascript
, php
, 网页
, 服务器
, 函数
null
rss阅读器、mac rss阅读器、rss阅读器哪个好、rss阅读器下载、rss阅读器推荐,以便于您获取更多的相关知识。