AJAX و XML (AJAX XML)
در «AJAX و XML»، بخش های صفحه بدون رفرش کامل آپدیت می شوند. «AJAX» یعنی درخواست های غیرهمزمان. «XML» یک فرمت متنی ساخت یافته است. مثل کارنامه دیجیتال که بخش نمراتش جدا تازه می شود.
نمونه AJAX با فایل XML
در صفحه نمونه، کاربر از منوی کشویی یک خواننده را انتخاب می کند. رویداد onchange تابع showCD() را صدا می زند. سپس با XMLHttpRequest به getcd.php?q=Artist درخواست می فرستیم. پاسخ، متن HTML آماده برای نمایش است.
برای ادامه مسیر، صفحه AJAX با PHP و AJAX و پایگاه داده را هم ببین.
کد سمت سرور: getcd.php
این کد XML را با «DOM» به صورت درخت می خواند. سپس هنرمند انتخاب شده پیدا می شود. بعد، فیلدهای آلبوم به صورت HTML خروجی می شوند.
<?php
$q = $_GET['q'];
$xmlDoc = new DOMDocument();
$xmlDoc->load('cd_catalog.xml');
$x = $xmlDoc->getElementsByTagName('ARTIST');
$y = null;
for ($i = 0; $i <= $x->length - 1; $i++) {
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++) {
if ($cd->item($i)->nodeType == 1) {
echo '<b>' . $cd->item($i)->nodeName . ':</b> ';
echo $cd->item($i)->childNodes->item(0)->nodeValue;
echo '<br>';
}
}
?>
گام های عملی
- فایل cd_catalog.xml را در سرور قرار بده.
- کد getcd.php را مثل بالا پیاده کن.
- در HTML، منوی کشویی و onchange را تنظیم کن.
- خروجی getcd.php را در #txtHint بنویس.
نکته: اگر مقدار انتخاب خالی بود، محتوای #txtHint را پاک کن.
جمع بندی سریع
- AJAX و XML آپدیت را بی وقفه انجام می دهند.
- رویداد onchange درخواست را ارسال می کند.
- PHP با DOM، XML را جست وجو می کند.
- پاسخ، HTML آماده نمایش است.
- AJAX و XML پایه پیشنهادهای زنده است.