Cara Menangkap Teks Respons Ralat dalam AJAX jQuery
Apabila menghantar respons ralat kepada permintaan AJAX jQuery, pengguna mungkin menghadapi ketidakupayaan untuk mendapatkan semula mesej ralat sebenar. Sebaliknya, mereka hanya menerima mesej "ralat" generik dalam panggilan balik ralat. Artikel ini meneroka penyelesaian kepada cabaran ini, membenarkan pembangun mengakses teks ralat terperinci.
Punca isu ini berpunca daripada mekanisme pengendalian ralat lalai jQuery. Apabila ralat berlaku, jQuery cuba menghuraikan ralat JSON jika ia mempunyai pengepala Jenis Kandungan yang ditentukan. Jika tiada pengepala hadir, jQuery kembali kepada mesej "ralat" yang mudah.
Untuk mengatasi had ini, kami boleh mengubah suai fungsi panggil balik ralat untuk mendapatkan semula teks respons secara eksplisit:
error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); }
Pendekatan ini melibatkan penilaian teks respons sebagai JSON menggunakan fungsi eval() JavaScript. Objek ralat yang terhasil kemudiannya boleh diakses untuk mendapatkan mesej ralat tertentu.
Contoh Pelaksanaan:
$.ajax({ type: "post", data: {id: 0}, cache: false, url: "doIt.php", dataType: "text", error: function(xhr, status, error) { var err = eval("(" + xhr.responseText + ")"); alert(err.Message); }, success: function () { alert(" Done ! "); } });
Dengan pengubahsuaian ini, panggilan balik ralat AJAX akan menyediakan teks ralat sebenar, membolehkan pembangun mengendalikan ralat dengan lebih berkesan dan memberikan maklum balas bermaklumat kepada pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Mesej Ralat Terperinci daripada Respons Ralat AJAX jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!