Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mendapatkan Mesej Ralat Terperinci daripada Respons Ralat AJAX jQuery?

Bagaimana untuk Mendapatkan Mesej Ralat Terperinci daripada Respons Ralat AJAX jQuery?

Linda Hamilton
Linda Hamiltonasal
2024-10-30 06:28:03300semak imbas

How to Retrieve Detailed Error Messages from jQuery's AJAX Error Response?

Memahami Respons Ralat AJAX jQuery

Apabila menghantar respons ralat dalam jQuery, mendapatkan semula mesej teks terperinci boleh menimbulkan cabaran. Secara lalai, jQuery hanya menyediakan mesej 'ralat' generik, memberikan anda maklumat terhad.

Dalam contoh yang diberikan, ralat HTTP 500 dihantar dengan mesej tersuai "Gone to the beach". Walau bagaimanapun, apabila menggunakan panggilan balik ralat dalam jQuery, log konsol dan amaran hanya memaparkan "ralat".

Mengakses Teks Respons Ralat

Untuk mengakses respons ralat sebenar teks, anda boleh mengubah suai fungsi panggil balik ralat. Begini caranya:

<code class="javascript">$.ajax({
  type: "post",
  data: { id: 0 },
  cache: false,
  url: "doIt.php",
  dataType: "text",
  error: function(xhr, status, error) {
    var err = eval("(" + xhr.responseText + ")");
    alert("Can't do because: " + err.Message);
  },
  success: function() { alert("Done ! "); }
});</code>

Dalam kod yang diubah suai ini:

  • xhr ialah objek XMLHttpRequest yang mengandungi respons ralat.
  • xhr.responseText menyimpan ralat sebenar teks respons.
  • eval("(" xhr.responseText ")") menukar rentetan JSON yang dikembalikan oleh pelayan kepada objek JavaScript.
  • Anda kemudiannya boleh mengakses sifat ralat tertentu, seperti err.Mesej, untuk memaparkan mesej ralat terperinci.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Mesej Ralat Terperinci daripada Respons Ralat AJAX jQuery?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn