XHR keadaan sedia
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:
Atribut | Penerangan | ||||||||
---|---|---|---|---|---|---|---|---|---|
onreadystatechange | Fungsi storan (atau Nama fungsi), fungsi ini akan dipanggil apabila sifat readyState berubah. | ||||||||
readyState |
| ||||||||
status | 200 : "OK" 404: Halaman Tidak Ditemui |
Dalam acara onreadystatechange, kami menentukan tugas yang perlu dilakukan apabila respons pelayan sedia untuk diproses.
Instance
<html><!DOCTYPE html> <html> <head> <script> 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","/try/ajax/ajax_info.txt",true); xmlhttp.send(); } </script> </head> <body> <div id="myDiv"><h2>使用 AJAX 修改该文本内容</h2></div> <button type="button" onclick="loadXMLDoc()">修改内容</button> </body> </html>
Jalankan instance»
Klik butang "Run Instance" untuk melihat contoh dalam talian
Nota:
Acara onreadystatechange dicetuskan 5 kali (0 - 4), sepadan dengan setiap perubahan readyState.Menggunakan fungsi panggil balik Fungsi panggil balik ialah fungsi yang dihantar sebagai parameter kepada fungsi lain.
Jika anda mempunyai berbilang tugasan AJAX di tapak anda, anda harus menulis fungsi standard
Panggilan fungsi ini harus mengandungi URL dan tugas yang perlu dilakukan apabila peristiwa onreadystatechange berlaku (mungkin berbeza untuk setiap panggilan): Jika anda mempunyai berbilang tugasan AJAX di tapak anda, anda harus menulis fungsi standard
untuk mencipta objek XMLHttpRequest dan memanggil fungsi itu untuk setiap tugas AJAX.