Maison  >  Article  >  développement back-end  >  Points de connaissances connexes sur le lecteur RSS AJAX

Points de connaissances connexes sur le lecteur RSS AJAX

jacklove
jackloveoriginal
2018-05-07 15:08:151258parcourir

Le lecteur RSS est utilisé pour lire les flux RSS. Cet article en donnera une explication de base.

Explication des exemples - page HTML

Lorsque l'utilisateur sélectionne un flux RSS dans la liste déroulante ci-dessus, une fonction nommée "showRSS()" sera exécuté. Cette fonction est déclenchée par l'événement "onchange" :

<html><head><meta charset="utf-8"><title>菜鸟教程(runoob.com)</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>

la fonction showRSS() effectuera les étapes suivantes :

Vérifiez si un flux RSS est sélectionné

Créer un objet XMLHttpRequest

Créer une fonction qui s'exécute lorsque la réponse du serveur est prête

Envoyer une requête à un fichier sur le serveur

Notez le paramètres ajoutés à la fin de l'URL (q ) (contient le contenu de la liste déroulante)

Fichier PHP

fichier rss_demo.xml.

La page du serveur appelée par JavaScript ci-dessus est un fichier PHP nommé "getrss.php" :

<?php// rss 文件$xml="rss_demo.xml";$xmlDoc = new DOMDocument();$xmlDoc->load($xml);// 从 "<channel>" 中读取元素$channel=$xmlDoc->getElementsByTagName(&#39;channel&#39;)->item(0);$channel_title = $channel->getElementsByTagName(&#39;title&#39;)->item(0)->childNodes->item(0)->nodeValue;$channel_link = $channel->getElementsByTagName(&#39;link&#39;)->item(0)->childNodes->item(0)->nodeValue;$channel_desc = $channel->getElementsByTagName(&#39;description&#39;)->item(0)->childNodes->item(0)->nodeValue;// 输出 "<channel>" 中的元素echo("<p><a href=&#39;" . $channel_link  . "&#39;>" . $channel_title . "</a>");echo("<br>");echo($channel_desc . "</p>");// 输出 "<item>" 中的元素$x=$xmlDoc->getElementsByTagName(&#39;item&#39;);for ($i=0; $i<=1; $i++) {    $item_title=$x->item($i)->getElementsByTagName(&#39;title&#39;)    ->item(0)->childNodes->item(0)->nodeValue;    $item_link=$x->item($i)->getElementsByTagName(&#39;link&#39;)    ->item(0)->childNodes->item(0)->nodeValue;    $item_desc=$x->item($i)->getElementsByTagName(&#39;description&#39;)    ->item(0)->childNodes->item(0)->nodeValue;    echo ("<p><a href=&#39;" . $item_link
    . "&#39;>" . $item_title . "</a>");    echo ("<br>");    echo ($item_desc . "</p>");}?>

Lorsque la demande de flux RSS est envoyée depuis JavaScript Lorsque vous allez dans le fichier PHP, que se passe-t-il :

Vérifiez quel flux RSS est sélectionné

Créez un nouvel objet XML DOM

Chargez le document RSS dans la variable xml

Extraire et sortir des éléments de l'élément canal

Extraire et sortir des éléments de l'élément item

Cet article explique les points de connaissances pertinents du lecteur RSS AJAX et plus de matériel d'apprentissage Veuillez payer attention au site php chinois à surveiller.

Recommandations associées :

Exemples PHP - Connaissance de la recherche en temps réel AJAX

À propos des exemples PHP - AJAX et XML Interaction

À propos de PHP - Interaction entre AJAX et MySQL

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn