Manual belajar ...login
Manual belajar kendiri lengkap PHP
pengarang:php.cn  masa kemas kini:2022-04-15 13:53:54

Pembaca RSS AJAX



Pembaca RSS untuk membaca suapan RSS.


AJAX RSS Reader

Dalam contoh berikut, kami akan menunjukkan pembaca RSS yang mana kandungan daripada RSS dimuatkan tanpa memuat semula halaman web Enter:


Senarai data suapan RSS...

Penjelasan contoh - halaman HTML

Apabila pengguna memilih item tertentu dalam senarai lungsur turun di atas suapan RSS, fungsi bernama "showRSS()" akan dilaksanakan. Fungsi ini dicetuskan oleh acara "onchange":

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
<script>
function showRSS(str)
{
         if (str.length==0)
          { 
                   document.getElementById("rssOutput").innerHTML="";
                   return;
          }
          if (window.XMLHttpRequest)
          {
                 // IE7+, Firefox, Chrome, Opera, Safari 浏览器执行代码
                 xmlhttp=new XMLHttpRequest();
          }
          else
          {
               // IE6, IE5 浏览器执行代码
               xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
          }
          xmlhttp.onreadystatechange=function()
          {
                  if (xmlhttp.readyState==4 && xmlhttp.status==200)
                   {
                          document.getElementById("rssOutput").innerHTML=xmlhttp.responseText;
                   }
          }
          xmlhttp.open("GET","getrss.php?q="+str,true);
          xmlhttp.send();
}
</script>
</head>
<body>
<form>
<select onchange="showRSS(this.value)">
<option value="">选择一个 RSS-feed:</option>
<option value="rss">读取 RSS 数据</option>
</select>
</form>
<br>
<div id="rssOutput">RSS-feed 数据列表...</div>
</body>
</html>

fungsi showRSS() akan melaksanakan langkah berikut:

  • semak Adakah terdapat suapan RSS yang dipilih

  • Buat objek XMLHttpRequest

  • Buat fungsi untuk dilaksanakan apabila respons pelayan sedang sedia

  • Hantar permintaan kepada fail pada pelayan

  • Sila ambil perhatian parameter (q) yang ditambahkan pada hujung URL (mengandungi kandungan senarai juntai bawah)


fail PHP

Fail rss_demo.xml.

Halaman pelayan yang dipanggil di atas melalui JavaScript ialah fail PHP bernama "getrss.php":

<?php
// rss 文件
$xml="rss_demo.xml";
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
// 从 "<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;
// 输出 "<channel>" 中的元素
echo("<p><a href='" . $channel_link
  . "'>" . $channel_title . "</a>");
echo("<br>");
echo($channel_desc . "</p>");
// 输出 "<item>" 中的元素
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=1; $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>");
}
?>

Apabila suapan RSS Apabila permintaan dibuat dihantar daripada JavaScript ke fail PHP, apa yang berlaku ialah:

  • Semak suapan RSS mana yang dipilih

  • Buat objek XML DOM baharu

  • Muatkan dokumen RSS dalam pembolehubah xml

  • Ekstrak dan output elemen daripada elemen saluran

  • Ekstrak dan output elemen daripada elemen item

Tutorial video yang disyorkan: "Tutorial AJAX"http://www.php.cn /course/list/25.html

Laman web PHP Cina