亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

PHP - AJAX lwn. PHP

Tiada pelayan AJAX.

AJAX ialah teknologi yang berjalan dalam penyemak imbas. Ia menggunakan pemindahan data tak segerak antara penyemak imbas dan pelayan web, membenarkan halaman web meminta sejumlah kecil maklumat daripada pelayan dan bukannya keseluruhan halaman.

AJAX ialah teknologi pelayar web yang bebas daripada perisian pelayan web.


Contoh PHP AJAX

Contoh berikut akan menunjukkan bagaimana laman web berkelakuan apabila pengguna menaip aksara dalam kotak input. Berkomunikasi dengan pelayan web:

Instance

3.png

Apabila pengguna menaip aksara dalam kotak input di atas, fungsi "showHint()" akan dilaksanakan. Fungsi ini dicetuskan oleh peristiwa "onkeyup":

<!DOCTYPE html>
 <html lang="en">
 <head>
     <meta charset="UTF-8">
     <title>PHP中文網(wǎng)(php.cn)</title>
     <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","ajax_php.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>

Penjelasan kod sumber:

Jika kotak input kosong (str.length==0), ini fungsi akan Kosongkan kandungan pemegang tempat txtHint dan keluar dari fungsi.

Jika kotak input tidak kosong, maka showHint() akan melaksanakan langkah berikut:

· Cipta objek XMLHttpRequest

· Cipta fungsi yang akan dilaksanakan apabila respons pelayan sedia

· Hantar permintaan kepada fail pada pelayan

· Sila beri perhatian kepada parameter (q) yang ditambahkan pada penghujung URL (termasuk kandungan input kotak)


Perenggan di atas melepasi Halaman pelayan yang dipanggil oleh JavaScript ialah fail PHP bernama "ajax_php.php". Kod sumber dalam

"ajax_php.php" menyemak tatasusunan nama dan mengembalikan nama yang sepadan kepada penyemak imbas:

fail ajax_php.php

<?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";
 
 //從請(qǐng)求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;
 ?>

Jalankan atur cara dan cuba

Penjelasan: Jika JavaScript menghantar sebarang teks (iaitu strlen($q) > 0), ini akan berlaku:

1 . Cari nama yang sepadan dengan aksara yang dihantar oleh JavaScript

2 Jika tiada padanan ditemui, tetapkan rentetan respons kepada "tiada cadangan"

3 Jika satu atau lebih nama sepadan ditemui, kemudian Tetapkan rentetan respons dengan semua nama

4 Hantar respons kepada pemegang tempat "txtHint"


Penyelesaian masalah merentas domain PHP Ajax

Jika permintaan tak segerak anda perlu merentas domain, anda boleh menyemak: Penyelesaian masalah merentas domain PHP Ajax.


Meneruskan pembelajaran
||
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>PHP中文網(wǎng)(php.cn)</title> <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","ajax_php.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>