کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

آموزش PHP - آموزش پیاده سازی خبر خوان RSS READER با AJAX در PHP

AJAX RSS Reader – RSS Reader ای که داده ها را بدون بروز رسانی کل صفحه، در اپلیکیشن تحت وب بارگذاری می کند

مثال زیر یک RSS Reader را نمایش می دهد که در آن خبرهای RSS با فراخوانی توابع ajax و بدون لود مجدد کل صفحه در اپلیکیشن بارگذاری می شود:

RSS Reader 01 RSS Reader 02

شرح مثال – فایل HTML

زمانی که کاربر یک آیتم RSS-feed را از لیست کشویی انتخاب می کند، تابعی به نام "showRSS()" فراخوانی می شود که خبر را از خبرخوان مربوطه خوانده در صفحه، بدون بارگذاری کل آن، بارگذاری می کند.

تابع ذکر شده به دنبال رخداد "onchange" اجرا می شود:







RSS-feed will be listed here...

تابع ()showRSS عملیات زیر را به ترتیب انجام می دهد:

  • بررسی می کند آیا یک آیتم RSS-feed انتخاب شده است یا خیر.
  • یک آبجکت XMLHttpRequest ایجاد می کند.
  • یک تابع تعریف می کند و این تابع زمانی اجرا می شود که سرویس دهنده آماده ی پاسخ به درخواست ارسالی از کد جاوااسکریپت می باشد.
  • درخواست ارسال شده به سرویس دهنده را به فایل مربوطه هدایت می کند.
  • یک پارامتر (q) به URL (با محتوای لیست کشویی) اضافه می کند.

فایل PHP

صفحه ای که بر روی سرویس دهنده قرار داشته و کد JavaScript فوق آن را فراخوانی می کند، در واقع یک فایل PHP به نام "getrss.php" می باشد. محتوای فایل مزبور را در زیر مشاهده می کنید:

load($xml);
//get elements from ""
$ 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;
//output elements from ""
echo("

" . $ channel_title . ""); echo("
"); echo($ channel_desc . "

"); //get and output "" elements $x=$xmlDoc->getElementsByTagName('item'); for ($i=0; $i<=2; $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 ("

" . $ item_title . ""); echo ("
"); echo ($item_desc . "

"); } ?>

زمانی که درخواستی جهت واکشی خبر RSS از اسکریپت سمت کلاینت JavaScript به سرویس دهنده فرستاده می شود، عملیات زیر به ترتیب انجام می شوند:

  • ابتدا بررسی می کند کدام آیتم انتخاب شده است.
  • یک آبجکت XML DOM جدید ایجاد می کند.
  • فایل RSS را در متغیر xml بارگذاری می کند.
  • المان ها را از المان channel استخراج کرده و به عنوان خروجی پاس می دهد.
  • المان ها را از المان item استخراج کرده و به عنوان خروجی بازمی گرداند.
1403/02/13 4318 2347
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...