Dalam "Pragmatis Ajax (Dinamic Situs Statis) A Web 2.0 Primer", saya secara tidak sengaja melihat pengantar keadaan Readystae. Saya merasa bahwa pengantar ini sangat realistis. Terjemahannya adalah sebagai berikut:
0: (tidak diinisialisasi) Metode Kirim () belum dipanggil.
1: (Memuat) Metode Kirim () telah dipanggil, permintaan sedang berlangsung.
2: (dimuat) Metode Kirim () telah selesai, seluruh respons yang diterima.
3: (interaktif) Responsnya sedang diuraikan.
4: (selesai) Respons telah diuraikan, siap untuk dipanen.
0 - (tidak diinisialisasi) Metode pengiriman () belum disebut
1 - (memuat) metode kirim () telah dipanggil dan permintaan sedang dikirim
2 - (Memuat selesai) Metode Send () telah dieksekusi dan semua konten respons telah diterima
3 - (interaksi) konten respons sedang diuraikan
4 - (Lengkap) Parsing konten respons selesai dan dapat dipanggil pada klien
Sebagian besar buku lain tidak jelas tentang lima negara bagian ReadyState ini. Misalnya, dalam "Foundations of Ajax", "nama" negara bagian hanya tercantum dalam Tabel 2-2 dalam buku - keadaan permintaan. Lima nilai yang mungkin adalah 0 = tidak diinisialisasi, 1 = pemuatan, 2 = dimuat, 3 = interaktif, dan 4 = lengkap. Rincian dari 5 negara bagian ini tampaknya tidak disebutkan sama sekali dalam "AJAX (Situs Web Dinamis Statis) dalam tindakan". Meskipun "AJAX profesional" tidak memuaskan, ia masih memiliki keunggulan:
Ada lima nilai yang mungkin untuk ReadyState:
0 (tidak diinisialisasi): Objek telah dibuat tetapi metode terbuka () belum dipanggil.
1 (Memuat): Metode terbuka () telah dipanggil tetapi permintaan belum dikirim.
2 (dimuat): Permintaan telah dikirim.
3 (interaktif). Respons parsial telah diterima.
4 (Lengkap): Semua data telah diterima dan koneksi telah ditutup.
Ada lima nilai yang mungkin untuk ReadyState:
0 (tidak diinisialisasi): (xml (standardisasi semakin dekat) httprequest) telah dibuat, tetapi metode terbuka () belum dipanggil.
1 (Muat): Metode terbuka () telah dipanggil, tetapi permintaan belum dikirim.
2 (Loading selesai): Permintaan telah dikirim.
3 (Interaksi): Bagian dari data respons dapat diterima.
4 (Lengkap): Semua data telah diterima dan koneksi telah ditutup.
Dalam "Memahami Ajax: Menggunakan JavaScript untuk membuat aplikasi internet yang kaya", tabel berikut dijelaskan:
Kode Status ReadyState
Status XML (Standardisasi semakin dekat) HTTPREQUEST Object
(0) tidak diinisialisasi
Objek telah dibuat tetapi tidak diinisialisasi. (Metode terbuka belum dipanggil.)
(XML (Standardisasi semakin dekat) HTTPREQUEST) telah dibuat, tetapi belum diinisialisasi (metode terbuka belum disebut).
(1) Memuat
Muat objek telah dibuat, tetapi metode Kirim belum dipanggil.
(XML (Standardisasi semakin dekat) HTTPREQUEST) telah dibuat, tetapi metode Kirim belum dipanggil.
(2) dimuat
Metode Kirim telah dipanggil, tetapi status dan header belum tersedia.
Metode Kirim telah dipanggil, status dan header (respons HTTP) tidak tersedia.
(3) Interaktif
Interaksi Beberapa data telah diterima. Memanggil responsbody dan properti responsetext pada keadaan ini untuk mendapatkan hasil parsial akan mengembalikan kesalahan, karena status dan header respons tidak sepenuhnya tersedia.
Beberapa data telah diterima. Namun, jika Anda memanggil properti responsbody dan responsetext pada saat ini untuk mendapatkan beberapa hasil, kesalahan akan terjadi karena status dan header respons tidak sepenuhnya tersedia.
(4) selesai
Semua data telah diterima, dan data lengkap tersedia di properti responsbody dan responsetext.
Semua data telah diterima dan data lengkap dapat diekstraksi dalam properti responsbody dan responsetext.
Menurut pengenalan lima negara bagian ReadyState dalam buku -buku di atas, saya pikir "pragmatis pragmatis (situs web dinamis statis) A Web 2.0 primer" lebih ada, karena menyebutkan masalah data yang diterima parsing, yang tidak disebutkan dalam buku lain. Inilah alasan mengapa tahap "(3) interaksi" ada sebagai proses konversi yang diperlukan antara "(2) penyelesaian beban" dan "(4) penyelesaian", yaitu, apa tugasnya. Singkatnya, saya pikir metode penjelasan yang ideal harus menentukan status ini secara akurat dan mudah dimengerti dalam pola ekspresi "status: tugas (objektif) + proses + kinerja (atau karakteristik). Ringkasan uji coba saat ini adalah sebagai berikut:
Deskripsi Status ReadyState
(0) tidak diinisialisasi
Pada tahap ini, konfirmasi apakah objek XML (standardisasi semakin dekat) dibuat dan bersiap untuk memanggil metode terbuka () untuk tidak diinisialisasi. Nilai 0 berarti bahwa objek sudah ada, jika tidak, browser akan melaporkan kesalahan - objek tidak ada.
(1) Muat
Pada tahap ini, objek XML (standardisasi semakin dekat dan lebih dekat) httpRequest objek diinisialisasi, yaitu metode terbuka () dipanggil untuk menyelesaikan pengaturan keadaan objek sesuai dengan parameter (metode, url, true). Dan hubungi metode kirim () untuk mulai mengirim permintaan ke server. Nilai 1 berarti bahwa permintaan sedang dikirim ke server.
(2) Pemuatan selesai
Tahap ini menerima data respons dari sisi server. Tetapi yang diperoleh adalah data asli dari respons server dan tidak dapat digunakan langsung pada klien. Nilai 2 berarti bahwa data respons lengkap telah diterima. Dan bersiaplah untuk tahap selanjutnya dari penguraian data.
(3) Interaksi
Pada tahap ini, data respons sisi server yang diterima diuraikan. Yaitu, sesuai dengan tipe MIME yang dikembalikan oleh header respons sisi server, data dikonversi menjadi format yang dapat diakses melalui atribut responsbody, responseText atau responseSexML (standardisasi semakin dekat dan lebih dekat) atribut, mempersiapkan panggilan klien. Status 3 berarti data sedang diuraikan.
(4) selesai
Pada tahap ini, konfirmasi bahwa semua data telah diuraikan ke dalam format yang tersedia untuk klien dan parsing telah selesai. Nilai 4 berarti bahwa data telah diuraikan. Data dapat diperoleh melalui sifat yang sesuai dari objek HTTPREQUEST (standardisasi semakin dekat dan lebih dekat).
Singkatnya, siklus hidup seluruh XML (standardisasi semakin dekat dan lebih dekat) objek httprequest harus mencakup tahap -tahap berikut:
Buat - Inisialisasi Permintaan - Kirim Permintaan - Terima Data - Analisis Data - Lengkapi
Dalam aplikasi spesifik, mengklarifikasi arti dari lima negara bagian ReadyState (XML (standardisasi semakin dekat) dan berbagai tahap siklus hidup objek httprequest) dapat menghilangkan misteri inti dari jax (situs web statis) (di balik pernyataan yang samar -samar) dengan cara yang baik) dengan cara yang sangat baik "membuat orang -orang yang tidak mual) dengan cara yang sangat misterius) dengan cara yang sangat baik" membuat orang -orang yang tidak megah) dengan cara yang sangat misterius dengan misterius) dengan samar -samar) dengan cara yang sangat baik "untuk membuat rasa misterius dengan misterius) dengan cara yang sangat misterius) dengan cara yang sangat misterius) dengan cara yang sangat misterius dengan misterius) dengan cara yang sangat baik" untuk membuat rasa misterius; dalam belajar dan meningkatkan kepercayaan diri.
Misalnya, dengan mengikuti contoh:
Salinan kode adalah sebagai berikut:
// menyatakan array
var state = ["inisialisasi ...",
“Menginisialisasi permintaan… berhasil!
Mengirim permintaan ... ",
"kesuksesan!
Menerima data ... ",
"Menyelesaikan!
Menganalisis data ... ",
"Menyelesaikan!
”];
// Cuplikan kode internal fungsi panggilan balik
if (xml (standardisasi semakin dekat) http.readystate == 4)
{
var span = document.createElement ("span");
span.innerhtml = status [xml (standardisasi semakin dekat) http.readystate];
document.body.appendChild (span);
if (xml (standardisasi semakin dekat) http.status == 200)
{
var xml (standardisasi semakin dekat) doc = xml (standardisasi semakin dekat) http.responsexml (standardisasi semakin dekat);
// Kode Lainnya
}
// Jangan lupa menghancurkannya untuk mencegah kebocoran memori
XML (standardisasi semakin dekat) http = null;
}kalau tidak{
var span = document.createElement ("span");
span.innerhtml = status [xml (standardisasi semakin dekat) http.readystate];
document.body.appendChild (span);
} Hasilnya adalah sebagai berikut:
Menginisialisasi permintaan ... berhasil!
Mengirim permintaan ... berhasil!
Menerima data ... selesai!
Menganalisis data ... selesai!
Sangat mudah untuk memahami apa yang dilakukan XML (standardisasi semakin dekat) yang dilakukan oleh objek di semua tahap. Oleh karena itu, mudah untuk memiliki pemahaman yang benar -benar sederhana dan jelas tentang bagian inti AJAX (Dinamis Situs Web Static).