AJAX PHP 实例

Ang AJAX ay ginagamit para gumawa ng mas maayos na mga aplikasyon na may mas maraming pakikipag-ugnay.

AJAX PHP 实例

Sa ibaba ay mayroong halimbawa kung paano magkakapag-ugnay ang web page sa web server kapag may pag-type ang user sa lapid na input:

Mga halimbawa

Mangyaring ipasok ang mga titik A-Z sa bawat lapid na input sa ibaba:

Pangalan:

Mga mungkahi sa paghahanap:

Paliwanag ng Halimbawa

Sa nakaraang halimbawa, kapag may pag-type ang user sa lapid na input, ipapatakbo ang function na may pangalan na "showHint()".

Ang function na ito ay inilulunsad ng pangyayari ng onkeyup.

Nasa ibaba ang kodigo ng HTML:

Mga halimbawa

<html>
<head>
<script>
function showHint(str) {
    if (str.length == 0) { 
        document.getElementById("txtHint").innerHTML = "";
        return;
    }
        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>Isulat ang pangalan sa ibabang input field:</b></p>
<form> 
Pangalan ng pamilya o pangalan:<input type="text" onkeyup="showHint(this.value)">
</form>
<p>Rekomendasyon:<span id="txtHint"></span></p>
</body>
</html>

Subukan Nang Higit Pa

Paliwanag ng Code:

Unang, suriin kung walang laman ang input field (str.length == 0),kung ito ay tunay, alisin ang nilalaman ng txtHint placeholder at umalis sa function.

Gayunpaman, kung hindi puwedeng magpatuloy ang input field, gawin ang sumusunod:

  • Buwang maglagay ng XMLHttpRequest object
  • Buwang maglagay ng function na magiging execute kapag handa ang server
  • Magpadala ng kahilingan sa PHP na file (gethint.php) na nasa server
  • Pansin na magdagdag sa gethint.php ang parameter na q
  • Ang variable ng str ay inilalagay ang nilalaman ng input field

PHP na file - "gethint.php"

Ang magiging check ang PHP na file ang array ng pangalan, at ibabalik sa browser ang katugma na pangalan:

<?php
// 姓名数组
 $a[] = "Ava";
 $a[] = "Brielle";
 $a[] = "Caroline";
 $a[] = "Diana";
 $a[] = "Elise";
 $a[] = "Fiona";
 $a[] = "Grace";
 $a[] = "Hannah";
 $a[] = "Ileana";
 $a[] = "Jane";
 $a[] = "Kathryn";
 $a[] = "Laura";
 $a[] = "Millie";
 $a[] = "Nancy";
 $a[] = "Opal";
 $a[] = "Petty";
 $a[] = "Queenie";
 $a[] = "Rose";
 $a[] = "Shirley";
 $a[] = "Tiffany";
 $a[] = "Ursula";
 $a[] = "Victoria";
 $a[] = "Wendy";
 $a[] = "Xenia";
 $a[] = "Yvette";
 $a[] = "Zoe";
 $a[] = "Angell";
 $a[] = "Adele";
 $a[] = "Beatty";
 $a[] = "Carlton";
 $a[] = "Elisabeth";
 $a[] = "Violet";
// Get q parameter from URL
$q = $_REQUEST["q"];
$hint = "";
// Check all hints in the array, if $q is the same as ""
if ($q !== "") {
    $q = strtolower($q);
    $len=strlen($q);
    foreach($a as $name) {
        if (stristr($q, substr($name, 0, $len))) {
            if ($hint === "") {
                $hint = $name;
            }
                $hint .= ", $name";
            }
         }
    }
}
// Output "no suggestion" if hint is not found or output the correct value
  echo $hint === "" ? "no suggestion" : $hint;
?>
c.html" -->