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 ()被处决,下面的形式是一个
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.phprm.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>"); } ?>
本文地址:
转载随意,但请附上文章地址:-)