PHP+AJAX教程(8):AJAX R阅读器_PHP技巧_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

PHP+AJAX教程(8):AJAX R阅读器

作者:黑客防线网安PHP教程基地 来源:黑客防线网安PHP教程基地 浏览次数:0

本篇关键词:阅读教程->item
黑客防线网安网讯:  WebjxCom提示:RSS阅读器用于阅读RSSFeed。RSS允许对新闻和更新进行快速浏览。    RSS阅读器用于阅读RSSFeed。    RSS允许对新闻和更新进行快速浏览。    AJAXRSS阅读器  ...
  WebjxCom提示:RSS阅读器用于阅读RSSFeedRSS允许对新闻和更新进行快速浏览
  
  RSS阅读器用于阅读RSSFeed。
  
  RSS允许对新闻和更新进行快速浏览。
  
  AJAXRSS阅读器
  
  在下面的AJAX实例中我们将演示一个RSS阅读器通过它,来自RSS的内容在不进行刷新的情况下载入网页。
  
  在下面的列表框中选择一个RSS新闻订阅
  
  SelectanRSS-Feed:GoogleNewsMSNBCNews
  
  在此列出RSSFeed。
  
  本例包括三个元素:
  
  简单的HTML表单
  
  JavaScript
  
  PHP页面
  
  HTML表单
  
  这是HTML页面。它包含一个简单的HTML表单和执行一个JavaScript文件的链接:
  
  <html>
  
  <head>
  
  <scripttype="text/javascript"src="getrss.js"></script>
  
  </head>
  
  <body>
  
  <form>
  
  SelectanRSS-Feed:
  
  <selectonchange="showRSS(this.value)">
  
  <optionvalue="Google">GoogleNews</option>
  
  <optionvalue="MSNBC">MSNBCNews</option>
  
  </select>
  
  </form>
  
  <p><divid="rssOutput">
  
  <b>RSSFeedwillbelistedhere.</b></div></p>
  
  </body>
  
  </html>
  
  例子解释-HTML表单
  
  正如您看到的,上面的HTML页面包含一个简单的HTML表单,其中带有一个下拉列表框。
  
  表单是这样工作的:
  
  当用户选择下拉框中的选项时,会触发一个事件
  
  当事件触发时,执行showRSS()函数
  
  表单下面是名为"rssOutput"的一个<div>。它用作showRSS()函数所返回的数据的占位符。
  
  JavaScript
  
  JavaScript代码存储在"getrss.js"中,它与HTML文档相连接:
  
  varxmlHttp
  
  functionshowRSS(str)
  
  {
  
  xmlHttp=GetXmlHttpObject()
  
  if(xmlHttp==null)
  
  {
  
  alert("BrowserdoesnotsupportHTTPRequest")
  
  return
  
  }
  
  varurl="getrss.php"
  
  url=url+"?q="+str
  
  url=url+"&sid="+Math.random()
  
  xmlHttp.onreadystatechange=stateChanged
  
  xmlHttp.open("GET",url,true)
  
  xmlHttp.send(null)
  
  }
  
  functionstateChanged()
  
  {
  
  if(xmlHttp.readyState==4||xmlHttp.readyState=="complete")
  
  {
  
  document.getElementById("rssOutput")
  
  .innerHTML=xmlHttp.responseText
  
  }
  
  }
  
  functionGetXmlHttpObject()
  
  {
  
  varxmlHttp=null;
  
  try
  
  {
  
  //Firefox,Opera8.0+,Safari
  
  xmlHttp=newXMLHttpRequest();
  
  }
  
  catch(e)
  
  {
  
  //InternetExplorer
  
  try
  
  {
  
  xmlHttp=newActiveXObject("Msxml2.XMLHTTP");
  
  }
  
  catch(e)
  
  {
  
  xmlHttp=newActiveXObject("Microsoft.XMLHTTP");
  
  }
  
  }
  
  returnxmlHttp;
  
  }
  
  例子解释:
  
  stateChanged()和GetXmlHttpObject函数与PHP和AJAX请求这一节中的例子相同。
  
  showRSS()函数
  
  每当在下拉框中选择选择时,该函数就会执行:
  
  定义发送到服务器的url(文件名)
  
  把参数(q)添加到url,参数内容是下拉框中的被选项
  
  添加一个随机数,以防止服务器缓存文件
  
  调用GetXmlHttpObject函数来创建XMLHTTP对象,并告知该对象在触发一个改变时去执行stateChanged函数
  
  通过给定的url来打开XMLHTTP
  
  把HTTP请求发动到服务器
  
  PHP页面
  
  调用JavaScript代码的服务器页面是名为"getrss.php"的PHP文件:
  
  <?php
  
  //gettheqparameterfromURL
  
  $q=$_GET["q"];
  
  //findoutwhichfeedwasselected
  
  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=newDOMDocument();
  
  $xmlDoc->load($xml);
  
  //getelementsfrom"<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;
  
  //outputelementsfrom"<channel>"
  
  echo("<p><ahref='".$channel_link
  
  ."'>".$channel_title."</a>");
  
  echo("<br/>");
  
  echo($channel_desc."</p>");
  
  //getandoutput"<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><ahref='".$item_link
  
  ."'>".$item_title."</a>");
  
  echo("<br/>");
  
  echo($item_desc."</p>");
  
  }
  
  ?>
  
  例子解释:
  
  当一个选项从JavaScript发送时,会发生:
  
  PHP找出哪个RSSfeed被选中
  
  为选中的RSSfeed创建XMLDOM对象
  
  找到并输出来自RSS频道的元素
  
  遍历前三个RSS项目中的元素,并进行输出
  
  
    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-17514-1.html
网站维护教程更新时间:2012-09-21 05:20:20  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer