با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن ، AJAX PHP در جاوا اسکریپت در واقع به چگونگی دسترسی به فایل PHP با استفاده از AJAX جاوا اسکریپت در یک صفحه وب اشاره دارد. AJAX چیزی فراتر از ارتباط با وب سرور و یا ارتباط با فایل های XML و نمایش آن ها در صفحات وب دارد، AJAX به شما اجازه می دهد تا با کدهای جاوا اسکریپت به فایل های وب سمت سرور نظیر PHP و ASP نیز ارتباط برقرار کرده و داده هایی از آن استخراج کند. در ادامه ی این بخش با ما همراه باشید.
در این بخش با ارائه ی یک مثال کامل چگونگی دسترسی به فایل PHP با استفاده از AJAX جاوا اسکریپت را ارائه کرده ایم.
مثال زیر نشان می دهد که چگونه یک صفحه وب می تواند با یک سرور وب ارتباط برقرار کند در حالی که کاربر یک کاراکتر را در یک فیلد ورودی می نویسد:
تشریح مثال فوق :
در مثال بالا، زمانی که یک کاربر یک کاراکتر را در فیلد ورودی متن می نویسد، یک تابع به نام “()showHint” اجرا می شود.
این عمل توسط رویداد onkeyup انجام می شود.
در اینجا به کد HTML مربوط به آن اشاره شده:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <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> |
تشریح کد فوق :
ابتدا، اگر فیلد input خالی است (str.length == 0) بررسی شده و در صورت وجود، محتوای txtHint را از placeholder پاک کرده و از تابع خارج می شود.
ام اگر فیلد ورودی خالی نیست، موارد زیر را انجام می شود:
فایل PHP آرایه ای از نام ها را بررسی کرده و نام های مربوطه را به مرورگر باز می گرداند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | <?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; ?> |
AJAX به عنوان ابزاری برای برقراری ارتباط با سرور در جاوا اسکریپت کاربرد های وسیعی دارد که یکی از این موارد که در این مبحث اشاره شد قابلیت دسترسی به فایل PHP با استفاده از AJAX جاوا اسکریپت می باشد. البته این فقط به دریافت اطلاعات از فایل های XML و یا PHP ختم نشده و شامل فایل های نظیر ASP نیز می شود، که در بخش آتی به آن می پردازیم.