AJAX — PHP Misoli
AJAX interaktiv ilovalar yaratish uchun ishlatiladi.
AJAX PHP Misoli
Quyidagi misol foydalanuvchi kiritish maydoniga belgilarni yozayotganda veb-sahifa veb-server bilan qanday bog'lanishini ko'rsatib beradi:
Misol
Quyidagi kiritish maydoniga ismni yozishni boshlang:
Ism:
Maslahatlar:
Misol Tushuntirishi
Yuqoridagi misolda foydalanuvchi kiritish maydoniga belgi yozganda, showHint() funksiyasi bajariladi. Funksiya onkeyup hodisasi (event) orqali ishga tushiriladi.
Mana kod:
html
<p><b>Quyidagi kiritish maydoniga ismni yozishni boshlang:</b></p>
<p>Maslahatlar: <span id="txtHint"></span></p>
<form>Ism: <input type="text" onkeyup="showHint(this.value)" /></form>
<script>
function showHint(str) {
if (str.length == 0) {
document.getElementById('txtHint').innerHTML = ''
return
} else {
const xmlhttp = new XMLHttpRequest()
xmlhttp.onload = function () {
document.getElementById('txtHint').innerHTML = this.responseText
}
xmlhttp.open('GET', 'gethint.php?q=' + str)
xmlhttp.send()
}
}
</script>Kod tushuntirishi:
- Birinchidan, kiritish maydoni bo'shligini tekshiring (
str.length == 0). Agar bo'sh bo'lsa,txtHintjoyini tozalang va funksiyadan chiqing. - Agar kiritish maydoni bo'sh bo'lmasa, quyidagilarni bajaring:
XMLHttpRequestobyektini yarating;- Server javobi tayyor bo'lganda bajariladigan funksiyani yarating;
- So'rovni serverdagi PHP fayliga (
gethint.php) yuboring; - E'tibor bering,
qparametri qo'shilgan:gethint.php?q=" + str; stro'zgaruvchisi kiritish maydonining mazmunini saqlaydi.
PHP fayli — "gethint.php"
PHP fayli ismlar massivini tekshiradi va mos keladigan ismlarni brauzerga qaytaradi:
php
<?php
// Ismlar massivi
$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";
// URL-dan q parametrini olish
$q = $_REQUEST["q"];
$hint = "";
// Agar $q bo'sh bo'lmasa, barcha maslahatlarni tekshirish
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";
}
}
}
}
// Agar maslahat topilmasa "no suggestion" chiqarsin yoki to'g'ri qiymatlarni chiqarsin
echo $hint === "" ? "no suggestion" : $hint;
?>