PHP AJAX RSSLOGIN

PHP AJAX RSS

Pembaca RSS untuk membaca suapan RSS.

RSS membolehkan menyemak imbas berita dan kemas kini pantas.


AJAX RSS Reader

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

0.png

Contoh

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

<!DOCTYPE html>
 <html lang="en">
 <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:

· Periksa sama ada suapan RSS dipilih

· Cipta objek XMLHttpRequest

· Buat fungsi yang dilaksanakan apabila respons pelayan sedia

· Hantar permintaan ke fail pada pelayan

· Sila ambil perhatian parameter ( q) ditambahkan pada penghujung URL (termasuk Kandungan senarai lungsur turun)


fail XML

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
    <channel>
        <title>php教程</title>
        <link>http://www.php.cn</link>
        <description>学的不仅技术,更新梦想!!</description>
        <item>
            <title>RSS 教程</title>
            <link>http://www.php.cn/rss/rss-tutorial.html</link>
            <description>通过使用 RSS,您可以浏览与您的工作相关的新闻</description>
        </item>
        <item>
            <title>XML 教程</title>
            <link>http://www.php.cn/xml/xml-tutorial.html</link>
            <description>XML 指可扩展标记语言(eXtensible Markup Language)</description>
        </item>
    </channel>
</rss>

Fail PHP

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

<?php
 header("Content-type:text/html;charset=utf-8");    //设置编码
 // 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 permintaan untuk suapan RSS dihantar daripada JavaScript ke fail PHP, apa yang berlaku ialah:

· Semak suapan RSS mana yang dipilih

· Cipta objek XML DOM baharu

· Muatkan dokumen RSS dalam pembolehubah xml

· Dari saluran Ekstrak dan keluarkan elemen

· Ekstrak dan keluarkan elemen

daripada elemen item Hasil pelaksanaan program:

50.png



bahagian seterusnya
<!DOCTYPE html> <html lang="en"> <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>
babperisian kursus