Pengenalan PHP Beginner kepada AJAX dan PHP
1. AJAX digunakan untuk mencipta aplikasi yang lebih interaktif
2.ajax php Contoh
Contoh berikut akan ditunjukkan apabila pengguna memasuki kotak input Bagaimana halaman web berkomunikasi dengan pelayan web apabila aksara ditaip
<!DOCTYPE html> <html> <meta charset="utf-8"> <head> <script> function showHint(str){ if (str.length==0){ document.getElementById("txtHint").innerHTML=""; return; } if (window.XMLHttpRequest){ // IE7+, Firefox, Chrome, Opera, Safari 瀏覽器執(zhí)行的代碼 xmlhttp=new XMLHttpRequest(); }else{ //IE6, IE5 瀏覽器執(zhí)行的代碼 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function(){ if (xmlhttp.readyState==4 && xmlhttp.status==200){ document.getElementById("txtHint").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","gethint.php?q="+str,true); xmlhttp.send(); } </script> </head> <body> <p><b>在輸入框中輸入一個(gè)姓名:</b></p> <form> 姓名: <input type="text" onkeyup="showHint(this.value)"> </form> <p>返回值: <span id="txtHint"></span></p> </body> </html>
Jika kotak input kosong (str.length==0), fungsi ini akan mengosongkan kandungan pemegang tempat txtHint dan keluar dari fungsi.
Jika kotak input tidak kosong, maka showHint() akan melaksanakan langkah berikut:
Buat objek XMLHttpRequest
Buat fungsi untuk dilaksanakan apabila respons pelayan sudah sedia
Hantar permintaan kepada fail pada pelayan
Sila ambil perhatian parameter (q) yang ditambahkan pada penghujung URL (mengandungi kandungan kotak input)
Fail PHP
Perenggan di atas Halaman pelayan yang dipanggil melalui JavaScript ialah fail PHP bernama "gethint.php".
Kod sumber dalam "gethint.php" akan menyemak tatasusunan nama, dan kemudian mengembalikan nama yang sepadan kepada penyemak imbas:
kod sumber gethint.php adalah seperti berikut:
<?php // 將姓名填充到數(shù)組中 $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地址中獲取 q 參數(shù) $q=$_GET["q"]; //查找是否由匹配值, 如果 q>0 if (strlen($q) > 0) { $hint=""; for($i=0; $i<count($a); $i++) { if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q)))) { if ($hint=="") { $hint=$a[$i]; } else { $hint=$hint." , ".$a[$i]; } } } } // 如果沒有匹配值設(shè)置輸出為 "no suggestion" if ($hint == "") { $response="no suggestion"; } else { $response=$hint; } //輸出返回值 echo $response; ?>
penjelasan: Jika JavaScript menghantar sebarang teks (iaitu strlen($q) > 0), ini akan berlaku:
Cari nama yang sepadan dengan aksara yang dihantar oleh JavaScript
Jika tiada padanan dijumpai, ini akan membalas Set rentetan kepada "tiada cadangan"
Jika satu atau lebih nama yang sepadan ditemui, tetapkan rentetan respons dengan semua nama
Hantar respons kepada pemegang tempat "txtHint"