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

آموزش PHP – AJAX و XML / واکشی اطلاعات از فایل XML با توابع AJAX

مثال XML و AJAX

مثال زیر نمایش می دهد یک صفحه ی وب چگونه اطلاعات لازم را از فایل XML با توابع AJAX، بدون نیاز به بارگذاری مجدد کل صفحه، واکشی کرده و نشان می دهد:

XML , AJAX 01 XML , AJAX 02 XML , AJAX 03

شرح مثال – صفحه ی HTML:

زمانی که کاربر یک CD را از لیست کشویی حاضر انتخاب می کند، تابعی به نام "showCD()" فراخوانی و اجرا می شود.

تابع مورد نظر به دنبال رخداد "onchange" صدا زده می شود:






Select a CD:
CD info will be listed here...

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

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

فایل PHP

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

اسکریپت PHP فایل XML، "cd_catalog.xml"، را بارگذاری کرده، یک کوئری بر روی فایل XML اجرا می کند و در پایان نتیجه ی مورد نظر را در قالب HTML از سرور برمی گرداند:

load("cd_catalog.xml");
$x=$xmlDoc->getElementsByTagName('ARTIST');
for ($i=0; $i<=$x->length-1; $i++) {
  //Process only element nodes
  if ($x->item($i)->nodeType==1) {
    if ($x->item($i)->childNodes->item(0)->nodeValue == $q) {
      $y=($x->item($i)->parentNode);
    }
  }
}
$cd=($y->childNodes);
for ($i=0;$i<$cd->length;$i++) { 
  //Process only element nodes
  if ($cd->item($i)->nodeType==1) {
    echo("" . $cd->item($i)->nodeName . ": ");
    echo($cd->item($i)->childNodes->item(0)->nodeValue);
    echo("
"); } } ?>

زمانی که کوئری CD از اسکریپت JavaScript به صفحه ی PHP ارسال می شود، اتفاقات زیر به ترتیب رخ می دهد:

  1. PHP یک آبجکت XML DOM ایجاد می کند.
  2. تمامی المان های که با اسم ارسالی از جاوا اسکپریت منطبق می باشد را پیدا می کند.
  3. اطلاعات آلبوم را به پارامتر جایگزین و مکان نگهدار "txtHint" ارسال می کند.
1396/02/20 4036 2227
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

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