Saya secara tidak sengaja melihat pengenalan status readyStae dalam "Pragmatic ajax (dynamic website staticization) A Web 2.0 Primer. Saya rasa pengenalan ini sangat praktikal
0: (Tidak dimulakan) kaedah hantar( ) masih belum digunakan
1: (Memuatkan) kaedah hantar( ) telah digunakan, permintaan sedang dijalankan
2: (Dimuatkan) kaedah hantar( ) telah selesai, keseluruhan respons diterima.
3: (Interaktif) respons sedang dihuraikan
4: (Selesai) respons telah dihuraikan, sedia untuk dituai.
1 - (Memuatkan) Kaedah hantar() telah dipanggil dan permintaan sedang dihantar
2 - (Pemuatan selesai) Kaedah hantar() telah dilaksanakan dan semua kandungan respons telah diterima
3 - (Interaktif) Menghuraikan kandungan respons
4 - (Lengkap) Penghuraian kandungan respons selesai dan boleh dipanggil pada klien
Terdapat lima nilai yang mungkin untuk readyState:
0 (Uninitialized): Objek telah dibuat tetapi kaedah open() belum dipanggil
1 (Memuatkan): Kaedah open() telah dipanggil tetapi permintaan belum dihantar
2 (Dimuatkan): Permintaan telah dihantar
3 (Interaktif). Sambutan separa telah diterima
4 (Lengkap): Semua data telah diterima dan sambungan telah ditutup.
readyState mempunyai lima nilai yang mungkin:
0 (tidak dimulakan): (xml(pestandardisasi semakin hampir) objek HttpRequest) telah dibuat, tetapi kaedah open() belum dipanggil.
1 (Memuatkan): Kaedah open() telah dipanggil, tetapi permintaan belum dihantar lagi.
2 (Pemuatan selesai): Permintaan telah dihantar.
3 (Interaktif): Data tindak balas separa boleh diterima.
4 (Lengkap): Semua data telah diterima dan sambungan telah ditutup.
Dalam "Memahami ajax (pestatikan tapak web statik): Menggunakan JavaScript untuk Mencipta Aplikasi Internet Kaya", jadual berikut digunakan untuk menggambarkan:
Kod Status Negeri sedia
Status xml (penyeragaman semakin hampir) Objek HttpRequest
(0) TIDAK DIMINATI
Tidak dimulakan Objek telah dibuat tetapi tidak dimulakan (Kaedah terbuka belum dipanggil.)
(xml (penyeragaman semakin hampir) HttpRequest) objek telah dibuat, tetapi belum dimulakan (kaedah terbuka belum dipanggil lagi).
(1) MEMUAT
Memuatkan Objek telah dibuat, tetapi kaedah hantar belum dipanggil.
(xml (penyeragaman semakin hampir) HttpRequest) objek telah dibuat, tetapi kaedah hantar belum dipanggil lagi.
(2) DIMUAT
Pemuatan selesai Kaedah penghantaran telah dipanggil, tetapi status dan pengepala belum tersedia.
Kaedah hantar telah dipanggil, status (tindak balas HTTP) dan pengepala belum tersedia lagi.
(3) INTERAKTIF
Interaksi Sesetengah data telah diterima Memanggil responseBody dan sifat responseText pada keadaan ini untuk mendapatkan hasil separa akan mengembalikan ralat, kerana pengepala status dan respons tidak tersedia sepenuhnya.
Beberapa data telah diterima. Walau bagaimanapun, jika anda memanggil sifat responseBody dan responseText untuk mendapatkan hasil separa pada masa ini, ralat akan berlaku kerana pengepala status dan respons belum tersedia sepenuhnya.
(4) SELESAI
Lengkapkan Semua data telah diterima dan data lengkap tersedia dalam responsBody dan sifat responseText.
Semua data telah diterima dan data lengkap boleh diekstrak dalam sifat responseBody dan responseText.
Menurut pengenalan lima keadaan readyState dalam buku di atas, saya fikir "Ajax pragmatik (pestatikan laman web dinamik) Primer Web 2.0" adalah lebih tepat kerana ia menyebut analisis data yang diterima , ini tidak disebut dalam buku lain, dan inilah sebab mengapa peringkat "(3) interaksi" wujud sebagai proses penukaran yang diperlukan antara "(2) penyiapan pemuatan" dan "(4) penyiapan" , iaitu, apakah misinya. Kesimpulannya, saya fikir kaedah penjelasan yang ideal adalah untuk mentakrifkan keadaan ini dalam mod ungkapan "keadaan: prestasi (atau ciri) proses tugas (matlamat)" yang lebih tepat dan mudah difahami. Ringkasan ujian semasa adalah seperti berikut:
status sediaNegeri
Penerangan
(0) tidak dimulakan
Peringkat ini mengesahkan sama ada xml (penyeragaman semakin hampir) objek HttpRequest dicipta dan bersedia untuk nyahinisialisasi dengan memanggil kaedah open(). Nilai 0 menunjukkan bahawa objek sudah wujud, jika tidak pelayar akan melaporkan ralat - objek tidak wujud. (1)Muatkan (2) Pemuatan selesai (3)Interaksi (4) Selesai Ringkasnya, kitaran hayat keseluruhan xml (penyeragaman semakin hampir) objek HttpRequest harus merangkumi peringkat berikut: Dalam aplikasi tertentu, dengan menjelaskan maksud lima keadaan readyState (pelbagai peringkat kitaran hayat xml (penyeragaman semakin hampir) objek HttpRequest), anda boleh menghapuskan misteri teras ajax (pestatikan laman web dinamik ) (Sebab di sebalik kata-kata yang tidak jelas adalah sama ada untuk membuat sesuatu menjadi misteri dan mewujudkan rasa misteri; atau untuk "membuat orang pengsan dan menyedarkan orang" Dengan cepat memahami intipati adalah sangat bermanfaat untuk mengurangkan kekecewaan dalam pembelajaran dan meningkatkan diri. keyakinan diri. Sebagai contoh, melalui contoh berikut: //Coretan kod dalam fungsi panggil balik jika (xml(penyeragaman semakin hampir)Http.status == 200)
xml (penyeragaman semakin hampir)Http = null;
Menghantar permintaan...berjaya!
Pada peringkat ini, objek xml (penyeragaman semakin hampir) HttpRequest dimulakan, iaitu kaedah open() dipanggil dan status objek ditetapkan mengikut parameter (kaedah, url, benar). Dan panggil kaedah send() untuk mula menghantar permintaan ke pelayan. Nilai 1 menunjukkan bahawa permintaan sedang dihantar ke pelayan.
Peringkat ini menerima data tindak balas daripada pelayan. Tetapi yang diperoleh hanyalah data asal respon pelayan dan tidak boleh digunakan terus pada klien. Nilai 2 menunjukkan bahawa semua data respons telah diterima. Dan bersedia untuk peringkat seterusnya analisis data.
Peringkat ini menghuraikan data tindak balas sebelah pelayan yang diterima. Iaitu, mengikut jenis MIME yang dikembalikan oleh pengepala respons sebelah pelayan, data ditukarkan kepada format yang boleh diakses melalui atribut responseBody, responseText atau responsexml (pestandardisasi semakin hampir) dan bersedia untuk seruan pada pelanggan. Status 3 menunjukkan bahawa data sedang dihuraikan.
Pada peringkat ini, ia disahkan bahawa semua data telah dihuraikan ke dalam format yang boleh digunakan oleh pelanggan, dan penghuraian telah selesai. Nilai 4 menunjukkan bahawa penghuraian data telah selesai dan data boleh diperolehi melalui atribut xml yang sepadan (penyeragaman semakin hampir) objek HttpRequest.
Cipta - mulakan permintaan - hantar permintaan - terima data - huraikan data - lengkapkan
//Isytihar tatasusunan
var states = ["Memulakan...",
"Memulakan permintaan...berjaya!
Menghantar permintaan...",
"Berjaya!
Menerima data...",
"Selesai!
Menghuraikan data...",
"Selesai!
”];
if (xml(penyeragaman semakin hampir)Http.readyState==4)
{
var span = document.createElement("span");
span.innerHTML = menyatakan[xml(penyeragaman semakin hampir)Http.readyState];
document.body.appendChild(span);
{
var xml (Penstandardisasi semakin hampir) doc = xml (Penstandardan semakin hampir) Http.responsexml (Penstandardan semakin hampir);
//Kod lain
}
}lain{
var span = document.createElement("span");
span.innerHTML = menyatakan[xml(penyeragaman semakin hampir)Http.readyState];
document.body.appendChild(span);
}Hasilnya adalah seperti berikut:
Menerima data... Selesai!
Menghuraikan data... Selesai!