前提・実現したいこと
現在、webページ上の一部分に外部ブログの記事タイトルと更新日を表示させています。
今回その部分だけを15秒ごとに更新することで、新着記事があればすぐに表示されるようにしたいです。
しかし、中々その方法が編み出せずにいます。
発生している問題・エラーメッセージ
一部分を15秒ごとに更新し、新着記事があれば表示されるようにする
該当のソースコード
php
1<?php 2date_default_timezone_set('Asia/Tokyo'); 3$baseUrl = 'url';//外部ブログのurl 4$feedUrl = '/?feed=rss2'; 5$max = 10; 6if ($rss = simplexml_load_file($baseUrl . $feedUrl)) { 7 $cnt = 0; 8 $output = ''; 9 10 if (!isset($rss->channel) || !isset($rss->channel->item)) { 11 echo $output; 12 return; 13 } 14 if (is_array($rss->channel->item) || count($rss->channel->item) === 0) { 15 echo $output; 16 return; 17 } 18 foreach($rss->channel->item as $item) { 19 if ($cnt >= $max) { 20 break; 21 } 22 23 $date = date('Y.m.d', strtotime($item->pubDate)); 24 $output .= '<li class="c_list_type02">'; 25 $output .= $date; 26 $output .= ' '; 27 $output .= htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); 28 $output .= '</a></li>'; 29 $cnt++; 30 } 31 32 echo $output; 33}
js
1window.addEventListener('DOMContentLoaded', function() { 2 var req = new XMLHttpRequest(); 3 req.onreadystatechange = function() { 4 if( req.readyState == 4 && req.status == 200 ) { 5 document.getElementById( 'l_rss' ).innerHTML = req.responseText; 6 } 7 } 8 req.open( "GET", "common/php/output_rss.php" );//前述のphpです 9 req.send(); 10})
html
1<div id="l_rss"></div>
試したこと
Ajaxを使用すればいいのかなと思い調べたコードを組み込もうと試みましたが、良い書き方が分かりませんでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。