PHP – معرفی AJAX

AJAX به معنای به‌روزرسانی بخش‌هایی از یک صفحه وب بدون بارگذاری مجدد کل صفحه است.

AJAX چیست؟

AJAX مخفف عبارت Asynchronous JavaScript and XML است.

AJAX یک تکنیک برای ایجاد صفحات وب سریع و دینامیک است.

AJAX اجازه می‌دهد صفحات وب به صورت غیر همزمان با تبادل مقادیر کمی از داده‌ها با سرور، بدون بارگذاری مجدد کل صفحه، به‌روزرسانی شوند. این به این معناست که امکان به‌روزرسانی بخش‌هایی از یک صفحه وب، بدون بارگذاری مجدد کل صفحه وجود دارد.

صفحات وب کلاسیک (که از AJAX استفاده نمی‌کنند) باید برای تغییر محتوا کل صفحه را مجدداً بارگذاری کنند.

مثال‌هایی از برنامه‌هایی که از AJAX استفاده می‌کنند: نقشه‌های گوگل (Google Maps)، جیمیل (Gmail)، یوتیوب (Youtube) و تب‌های فیسبوک (Facebook tabs).

نحوه کار AJAX

نحوه کار ajax

AJAX بر اساس استانداردهای اینترنت است

AJAX بر اساس استانداردهای اینترنت است و از ترکیبی از موارد زیر استفاده می‌کند:

  • شیء XMLHttpRequest (برای تبادل داده‌ها به صورت غیر همزمان با سرور)
  • JavaScript/DOM (برای نمایش/تعامل با اطلاعات)
  • CSS (برای استایل‌دهی داده‌ها)
  • XML (اغلب به عنوان فرمت انتقال داده‌ها استفاده می‌شود)

برنامه‌های AJAX مستقل از مرورگر و پلتفرم هستند!

Google Suggest

AJAX توسط گوگل در سال 2005 با Google Suggest محبوب شد.

Google Suggest از AJAX برای ایجاد یک رابط کاربری بسیار دینامیک استفاده می‌کند: وقتی شروع به تایپ کردن در جعبه جستجوی گوگل می‌کنید، یک جاوااسکریپت حروف را به سرور ارسال می‌کند و سرور لیستی از پیشنهادات را برمی‌گرداند.

مثال عملی

در اینجا یک مثال عملی ساده از استفاده از AJAX در PHP آورده شده است:

  1. فایل HTML:
<!DOCTYPE html>
<html>
<head>
    <script>
        function showHint(str) {
            if (str.length == 0) {
                document.getElementById("txtHint").innerHTML = "";
                return;
            } else {
                var xmlhttp = new XMLHttpRequest();
                xmlhttp.onreadystatechange = function() {
                    if (this.readyState == 4 && this.status == 200) {
                        document.getElementById("txtHint").innerHTML = this.responseText;
                    }
                };
                xmlhttp.open("GET", "gethint.php?q=" + str, true);
                xmlhttp.send();
            }
        }
    </script>
</head>
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form>
    First name: <input type="text" onkeyup="showHint(this.value)">
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>

فایل PHP (gethint.php):

<?php
// Array with names
$a[] = "Anna";
$a[] = "Brittany";
$a[] = "Cinderella";
$a[] = "Diana";
$a[] = "Eva";
$a[] = "Fiona";
$a[] = "Gunda";
$a[] = "Hege";
$a[] = "Inga";
$a[] = "Johanna";
$a[] = "Kitty";
$a[] = "Linda";
$a[] = "Nina";
$a[] = "Ophelia";
$a[] = "Petunia";
$a[] = "Amanda";
$a[] = "Raquel";
$a[] = "Cindy";
$a[] = "Doris";
$a[] = "Eve";
$a[] = "Evita";
$a[] = "Sunniva";
$a[] = "Tove";
$a[] = "Unni";
$a[] = "Violet";
$a[] = "Liza";
$a[] = "Elizabeth";
$a[] = "Ellen";
$a[] = "Wenche";
$a[] = "Vicky";

// get the q parameter from URL
$q = $_REQUEST["q"];

$hint = "";

// lookup all hints from array if $q is different from ""
if ($q !== "") {
    $q = strtolower($q);
    $len = strlen($q);
    foreach ($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            } else {
                $hint .= ", $name";
            }
        }
    }
}

// Output "no suggestion" if no hint was found or output correct values
echo $hint === "" ? "no suggestion" : $hint;
?>

در این مثال، کاربر شروع به تایپ کردن یک نام در فیلد ورودی می‌کند. جاوااسکریپت حروف تایپ شده را به یک فایل PHP ارسال می‌کند که در آنجا به دنبال پیشنهادات نام می‌گردد و نتیجه را برمی‌گرداند. پاسخ به صورت غیر همزمان دریافت و بدون بارگذاری مجدد کل صفحه، در مرورگر کاربر نمایش داده می‌شود.

پست های مرتبط

مطالعه این پست ها رو از دست ندین!
Python - محدود کردن داده (MongoDB Limit)

Python – محدود کردن داده (MongoDB Limit)

Python MongoDB محدود کردن نتایج برای محدود کردن نتایج در MongoDB، از متد limit() استفاده می‌کنیم. متد limit() یک...

بیشتر بخوانید
Python - بروزرسانی (MongoDB Update)

Python – بروزرسانی (MongoDB Update)

به‌روزرسانی یک رکورد برای به‌روزرسانی یک رکورد یا سند در MongoDB، از متد update_one() استفاده می‌کنیم. پارامتر اول متد...

بیشتر بخوانید
Python - حذف کالکشن (MongoDB Drop Collection)

Python – حذف کالکشن (MongoDB Drop Collection)

حذف کالکشن شما می‌توانید یک جدول یا کالکشن در MongoDB را با استفاده از متد drop() حذف کنید. مثالحذف...

بیشتر بخوانید

نظرات

سوالات و نظراتتون رو با ما به اشتراک بذارید

برای ارسال نظر لطفا ابتدا وارد حساب کاربری خود شوید.