Latest web development tutorials

AJAX - เหตุการณ์ onreadystatechange

เหตุการณ์ onreadystatechange

เมื่อมีคำขอส่งไปยังเซิร์ฟเวอร์ขึ้นอยู่กับการตอบสนองที่เราจำเป็นต้องดำเนินการบางอย่าง

เมื่อมีการเปลี่ยนแปลง readyState จะเรียกเหตุการณ์ onreadystatechange

มีข้อมูลสถานะทรัพย์สิน readyState XMLHttpRequest

นี่คือวัตถุ XMLHttpRequest สามคุณสมบัติที่สำคัญ:

属性 描述
onreadystatechange 存储函数(或函数名),每当 readyState 属性改变时,就会调用该函数。
readyState

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

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 4: 请求已完成,且响应已就绪
status 200: "OK"
404: 未找到页面

ในกรณี onreadystatechange เราจำเป็นต้องให้เซิร์ฟเวอร์ตอบสนองเมื่องานที่มีความพร้อมที่จะดำเนินการเมื่อดำเนินการ

เมื่อ readyState และสถานะเท่ากับ 4-200, การตอบสนองพร้อมแล้ว:

ตัวอย่าง

xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
}

ลอง»

หมายเหตุ: เหตุการณ์ onreadystatechangeถูกเรียก 5 ครั้ง (0--4) ที่สอดคล้องกับแต่ละของการเปลี่ยนแปลง readyState


การใช้ฟังก์ชั่นการโทรกลับ

ฟังก์ชั่นโทรกลับไปเป็นพารามิเตอร์ฟังก์ชั่นอื่น

ถ้างาน AJAX หลายที่มีอยู่บนเว็บไซต์ของคุณแล้วคุณควรสร้างวัตถุ XMLHttpRequest การเขียนฟังก์ชั่นมาตรฐานและฟังก์ชั่นที่เรียกว่าสำหรับแต่ละงาน AJAX

URL ควรมีการเรียกใช้ฟังก์ชันและงานที่ดำเนินการจัดกิจกรรม onreadystatechange เกิดขึ้น (สำหรับการโทรแต่ละบริการอาจเปลี่ยนแปลง):

ตัวอย่าง

function myFunction()
{
loadXMLDoc("ajax_info.txt",function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
}
});
}

ลอง»