Manual Rujukan ...login
Manual Rujukan Cina AJAX
pengarang:php.cn  masa kemas kini:2022-04-12 16:00:57

AJAX ASP/PHP



AJAX digunakan untuk mencipta aplikasi yang lebih dinamik.


Contoh AJAX ASP/PHP

Contoh berikut akan menunjukkan kepada anda cara halaman web berkomunikasi dengan pelayan web apabila pengguna menaip aksara dalam kotak input: Sila taip huruf (A - Z) dalam kotak input di bawah:

Instance

<html><!DOCTYPE html>
<html>
<head>
<script>
function showHint(str)
{
var xmlhttp;
if (str.length==0)
  { 
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/try/ajax/gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<h3>Start typing a name in the input field below:</h3>
<form action=""> 
First name: <input type="text" id="txt1" onkeyup="showHint(this.value)" />
</form>
<p>Suggestions: <span id="txtHint"></span></p> 

</body>
</html>

Run Instance»

Klik butang "Jalankan Contoh" untuk melihat tika dalam talian



Analisis tika - fungsi showHint()

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

function showHint(str)
{
var xmlhttp;
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// kod untuk IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
lain
{// kod untuk IE6, IE5
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.html?q="+str,true);
xmlhttp.send();
}

Analisis kod sumber:

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

Jika kotak input tidak kosong, fungsi showHint() melaksanakan tugas berikut:

  • Mencipta objek XMLHttpRequest

  • Apabila pelayan Laksanakan fungsi apabila respons sedia

  • Hantar permintaan ke fail pada pelayan

  • Perhatikan bahawa kami telah menambah parameter q ke URL (dengan Kandungan kotak input)


Halaman Pelayan AJAX - ASP dan PHP

Halaman pelayan yang dipanggil oleh JavaScript di atas ialah fail ASP bernama "gethint. asp".

Di bawah, kami mencipta dua versi fail pelayan, satu ditulis dalam ASP dan satu lagi dalam PHP.

Kod sumber dalam fail ASP

"gethint.asp" menyemak tatasusunan nama dan mengembalikan nama yang sepadan kepada penyemak imbas:

<%
response.expires=-1
malapkan a(30)
'Isi tatasusunan dengan nama
a(1)="Anna"
a (2)="Brittany"
a(3)="Cinderella"
a(4)="Diana"
a(5)="Eva"
a(6)="Fiona "
a(7)="Gunda"
a(8)="Hege"
a(9)="Inga"
a(10)="Johanna"
a( 11)="Kitty"
a(12)="Linda"
a(13)="Nina"
a(14)="Ophelia"
a(15)="Petunia"
a(16)="Amanda"
a(17)="Raquel"
a(18)="Cindy"
a(19)="Doris"
a(20 )="Eve"
a(21)="Evita"
a(22)="Sunniva"
a(23)="Tove"
a(24)="Unni"
a(25)="Violet"
a(26)="Liza"
a(27)="Elizabeth"
a(28)="Ellen"
a(29) ="Wenche"
a(30)="Vicky"

'dapatkan parameter q daripada URL
q=ucase(request.querystring("q"))

'cari semua pembayang daripada tatasusunan jika panjang q>0
jika len(q)>0 maka
    petunjuk=""
    untuk i=1 hingga 30
          jika q=ucase(pertengahan(a(i),1,len(q))) maka
                jika petunjuk="" maka
                      hint=a(i)
                lain
                      hint=hint & " , " & a(i)
                tamat jika
          tamat jika
    seterusnya
tamat jika

'Keluarkan "tiada cadangan" jika tiada petunjuk ditemui
'atau keluarkan nilai yang betul
jika petunjuk="" maka
    response.write("tiada cadangan")
lain
    respons.write(hint)
tamatkan jika
%>


PHP 文件

下面的代码用 PHP 编写,与上面的 ASP 代码作用是下<🎜用是一> // Isi tatasusunan dengan nama

$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";

//dapatkan parameter q daripada URL
$q=$_GET["q"];

//cari semua pembayang daripada tatasusunan jika panjang q>0
jika (strlen($q) > 0)
  {
    $hint="";
    untuk($i=0; $i<count($a); $i++)
      {
      if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))
            {
            jika ($hint=="")
                  {
                  $hint=$a[$i];
                  }
            lain
                  {
                  $hint=$hint." , ".$a[$i];
                  }
            }
      }
  }

// Tetapkan output kepada "tiada cadangan" jika tiada pembayang ditemui
// atau kepada nilai yang betul
jika ($hint == "")
  {
  $response="tiada cadangan";
  }
lain
  {
  $respons=$hint;
  }

//output respons
echo $response;
?>