เหตุการณ์ onreadystatechange
เมื่อมีการร้องขอไปยังเซิร์ฟเวอร์จะถูกส่งเราต้องการที่จะดำเนินการกระทำบางอย่างขึ้นอยู่กับการตอบสนอง
เหตุการณ์ onreadystatechange จะถูกเรียกทุกครั้งที่มีการเปลี่ยนแปลง readyState
สถานที่ให้บริการ readyState ถือสถานะของ XMLHttpRequest
สามคุณสมบัติที่สำคัญของวัตถุ XMLHttpRequest นี้:
คุณสมบัติ | ลักษณะ |
---|---|
onreadystatechange | ร้านฟังก์ชั่น (หรือชื่อของฟังก์ชัน) จะถูกเรียกโดยอัตโนมัติทุกครั้งที่มีการเปลี่ยนแปลงสถานที่ให้บริการ readyState |
readyState | ถือสถานะของ XMLHttpRequest การเปลี่ยนแปลง 0-4: 0 ขอไม่ได้เริ่มต้น 1: การเชื่อมต่อเซิร์ฟเวอร์ที่จัดตั้งขึ้น 2: ได้รับการร้องขอ 3: การประมวลผลคำขอ 4: ขอสำเร็จรูปและการตอบสนองพร้อม |
status | 200: "OK" ไม่พบหน้า: 404 |
ในกรณี onreadystatechange เราระบุสิ่งที่จะเกิดขึ้นเมื่อตอบกลับของเซิร์ฟเวอร์ที่มีความพร้อมที่จะดำเนินการ
เมื่อ readyState คือ 4 และสถานะคือ 200, การตอบสนองพร้อมแล้ว:
ตัวอย่าง
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
document.getElementById("demo").innerHTML = xhttp.responseText;
}
};
ลองตัวเอง» หมายเหตุ: เหตุการณ์ onreadystatechange ถูกเรียกห้าครั้ง (0-4), ครั้งเดียวสำหรับแต่ละการเปลี่ยนแปลงใน readyState
การใช้ฟังก์ชั่นการโทรกลับ
ฟังก์ชั่นการโทรกลับเป็นฟังก์ชั่นการส่งผ่านเป็นพารามิเตอร์ไปยังฟังก์ชั่นอื่น
หากคุณมีมากกว่าหนึ่งงาน AJAX ในเว็บไซต์ของคุณคุณควรสร้างฟังก์ชั่นมาตรฐานสำหรับการสร้างวัตถุ XMLHttpRequest และสายนี้สำหรับแต่ละงาน AJAX
เรียกฟังก์ชันควรมี URL ที่และสิ่งที่ต้องทำใน onreadystatechange (ซึ่งอาจจะแตกต่างกันสำหรับแต่ละสาย):
ตัวอย่าง
function loadDoc(cFunc) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200) {
cFunc(xhttp);
}
ลองตัวเอง»