>  기사  >  백엔드 개발  >  AJAX RSS 리더 관련 지식 포인트

AJAX RSS 리더 관련 지식 포인트

jacklove
jacklove원래의
2018-05-07 15:08:151204검색

RSS 리더는 RSS 피드를 읽는 데 사용됩니다. 이 기사에서는 이에 대한 기본적인 설명을 제공합니다.

예제 설명 - HTML 페이지

사용자가 위의 드롭다운 목록에서 RSS 피드를 선택하면 "showRSS()"라는 함수가 실행됩니다. 이 함수는 "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>

showRSS() 함수는 다음 단계를 수행합니다.

선택한 RSS 피드가 있는지 확인합니다.

XMLHttpRequest 객체 생성

실행되는 함수 생성 서버 응답이 준비되면

서버에 있는 파일에 요청을 보냅니다

드롭다운 목록의 내용이 포함된 URL 끝에 추가된 매개변수(q)를 참고하세요.

PHP 파일

파일 rss_demo.xml.

위 단락에서 JavaScript가 호출한 서버 페이지는 "getrss.php"라는 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>");}?>

RSS 피드에 대한 요청이 JavaScript에서 PHP 파일로 전송되면 어떻게 되나요?

확인 선택한 RSS 피드

새 XML DOM 개체 만들기

xml 변수에 RSS 문서 로드

채널 요소에서 요소 추출 및 출력

항목 요소에서 요소 추출 및 출력

이 문서는 AJAX에 관한 것입니다. RSS 리더 관련 지식 포인트가 설명되어 있습니다. 더 많은 학습 자료를 보려면 PHP 중국어 웹사이트를 참고하세요.

관련 권장 사항:

PHP 예제 - AJAX 실시간 검색에 대한 지식

PHP 예제 - AJAX와 XML 간의 상호 작용

PHP 정보 - AJAX와 MySQL 간의 상호 작용

위 내용은 AJAX RSS 리더 관련 지식 포인트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.