Rumah >hujung hadapan web >Soal Jawab bahagian hadapan >Bilakah ralat digunakan dalam ajax?
penggunaan ralat: 1. Digunakan apabila jenis data yang dikembalikan oleh latar belakang tidak konsisten dengan apa yang ditulis di bahagian hadapan 2. Digunakan apabila async meminta penyegerakan dan masalah tak segerak; 4. Apabila Digunakan apabila parameter yang diluluskan tidak dalam format pengekodan yang disokong oleh ajax.
Persekitaran pengendalian artikel ini: sistem windows7, versi javascript1.8.5&&&html5, komputer Dell G3.
Bilakah ralat digunakan dalam ajax
ralat dataType (dataType digunakan untuk menentukan pulangan latar belakang? parameter Type)
Ralat jenis: Jika jenis dataType yang dikembalikan oleh latar belakang tidak konsisten dengan apa yang ditulis di bahagian hadapan, ralat akan dilonjak.
Ralat format: Selepas jquery1.4, keperluan format untuk json sangat ketat, dan ralat format json juga akan melompat kepada ralat.{"test":1} Perhatikan format
Kadangkala, apabila ia tidak diperlukan Dalam kes mengembalikan nilai, ikut format templat dan tetapkan parameter dataType: "json" pada masa ini, apabila nilai pemindahan ajax betul, akan berlaku situasi khas di mana an ralat dilaporkan dalam status kejayaan 200 kembali.
Jika tidak dinyatakan, jQuery akan membuat pertimbangan bijak secara automatik berdasarkan maklumat MIME pakej HTTP Contohnya, jenis XML MIME diiktiraf sebagai XML. Dalam 1.4, JSON akan menjana objek JavaScript dan skrip akan melaksanakan skrip. Data yang dikembalikan oleh pelayan kemudiannya akan dihuraikan berdasarkan nilai ini dan dihantar ke fungsi panggil balik. Nilai yang tersedia:
"xml": Mengembalikan dokumen XML yang boleh diproses dengan jQuery.
"html": Mengembalikan maklumat HTML teks biasa; teg skrip yang disertakan akan dilaksanakan apabila dimasukkan ke dalam dom.
"skrip": Mengembalikan kod JavaScript teks biasa. Keputusan tidak dicache secara automatik. Melainkan parameter "cache" ditetapkan. Nota: Apabila membuat permintaan jauh (bukan di bawah domain yang sama), semua permintaan POST akan ditukar kepada permintaan GET. (Kerana teg skrip DOM akan digunakan untuk memuatkan)
"json": Mengembalikan data JSON.
"jsonp": Format JSONP. Apabila memanggil fungsi menggunakan format JSONP, seperti "myurl?callback=?"jQuery akan secara automatik menggantikan ?
"teks": Mengembalikan rentetan teks biasa
penyegerakan permintaan tak segerak dan masalah tak segerak
Async lalai kepada benar (permintaan tak segerak). latar belakang halaman, tetapi halaman Memuatkan ajax anda telah dilaksanakan, dan pemindahan nilai dan penerimaan selesai di latar belakang Pada masa ini, data tidak boleh diminta, jadi anda boleh mempertimbangkan untuk menukar permintaan ajax kepada percubaan segerak.
Pengecualian parsererror juga berkaitan dengan jenis Header. dan pengepala pengekodan('Content-type: text/html; charset=utf8');
Secara amnya, kita boleh menentukan punca ralat dengan menganalisis beberapa parameter dalam ralat:
XMLHttpRequest.readyState: Kod status
0 - (tidak dimulakan) send() kaedah belum dipanggil lagi
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) Kandungan respons sedang dihuraikan
4 - (Lengkap) Kandungan respons dihuraikan dan boleh dipanggil pada klien
XMLHttpRequest.status: Memanggil status permintaan http
Terdapat banyak status permintaan Jika anda menghadapi kod status ralat tertentu, anda boleh menyemaknya di Baidu.
XMLHttpRequest.responseText: Mesej ralat dikembalikan
Jika ralat berlaku, mesej ralat (parameter kedua) mungkin bukan sahaja batal, tetapi mungkin juga "tamat masa", "ralat", " notmodified" dan "parsererror".
【Tutorial berkaitan yang disyorkan:
Tutorial video AJAXAtas ialah kandungan terperinci Bilakah ralat digunakan dalam ajax?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!