acara onreadystatechange

Apabila permintaan dihantar ke pelayan, kami perlu melaksanakan beberapa tugas berasaskan respons.

Apabila readyState berubah, acara onreadystatechange akan dicetuskan.

atribut readyState menyimpan maklumat status XMLHttpRequest.

Berikut ialah tiga atribut penting objek XMLHttpRequest:

AtributPenerangan
onreadystatechangeFungsi storan (atau Nama fungsi), fungsi ini akan dipanggil apabila sifat readyState berubah.
readyState
属性描述
onreadystatechange存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState

存有 XMLHttpRequest 的状态。从 0 到 4 发生变化。

  • 0: 请求未初始化

  • 1: 服务器连接已建立

  • 2: 请求已接收

  • 3: 请求处理中

  • 4: 请求已完成,且响应已就绪

status200: "OK"
404: 未找到页面
Menyimpan status XMLHttpRequest. Perubahan dari 0 kepada 4.

  • 0: Permintaan tidak dimulakan

  • 1: Sambungan pelayan telah diwujudkan
    < /li>
  • 2: Permintaan telah diterima

  • 3: Permintaan sedang diproses

  • 4: Permintaan telah selesai , dan respons sudah sedia
status200 : "OK"
404: Halaman Tidak Ditemui

Dalam acara onreadystatechange, kami menentukan tugas yang perlu dilakukan apabila respons pelayan sedia untuk diproses.

Apabila readyState bersamaan dengan 4 dan statusnya ialah 200, ini bermakna respons sedia:

Instance

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
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("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","/asset/demo.ajax.php?dm=txt&act=getfruits",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">通过 AJAX 改变内容</button>
</body>
</html>

Nota :

onreadystatechange Peristiwa dicetuskan 5 kali (0 - 4), sepadan dengan setiap perubahan dalam readyState.

Menggunakan fungsi panggil balik

Fungsi panggil balik ialah fungsi yang dihantar sebagai parameter kepada fungsi lain. Jika anda mempunyai berbilang tugas AJAX di tapak anda, anda harus menulis fungsi

standard
untuk mencipta objek XMLHttpRequest dan memanggil fungsi itu untuk setiap tugas AJAX.