Rumah >hujung hadapan web >tutorial js >Mengapa Permintaan Ajax jQuery Saya Kembali 200 OK Tetapi Mencetuskan Peristiwa Ralat?

Mengapa Permintaan Ajax jQuery Saya Kembali 200 OK Tetapi Mencetuskan Peristiwa Ralat?

Linda Hamilton
Linda Hamiltonasal
2024-11-27 18:11:13829semak imbas

Why Does My jQuery Ajax Request Return 200 OK But Trigger the Error Event?

Permintaan jQuery Ajax Mengembalikan Kejayaan (200 OK) tetapi Mencetuskan Peristiwa Ralat

Permintaan jQuery Ajax anda sentiasa mengembalikan 200 OK, menunjukkan kejayaan tindak balas. Walau bagaimanapun, jQuery masih melaksanakan acara ralat dan bukannya acara kejayaan.

Isu:

Apabila menggunakan $.ajax jQuery, jika parameter dataType ditetapkan kepada "json" (seperti dalam kod anda), ia menjangkakan respons daripada pelayan adalah JSON yang sah. Walau bagaimanapun, dalam kes anda, respons pelayan ialah HTML, yang bukan JSON yang sah. Ini menyebabkan jQuery membuang ralat penghuraian dan mencetuskan peristiwa ralat.

Penyelesaian 1: Alih keluar dataType: 'json'

Satu penyelesaian ialah mengalih keluar parameter dataType daripada permintaan Ajax anda. Ini akan membolehkan jQuery mentafsir respons sebagai teks biasa, yang akan termasuk HTML yang anda hantar daripada pelayan anda.

$.ajax({
    type: 'POST',
    url: 'Jqueryoperation.aspx?Operation=DeleteRow',
    contentType: 'application/json; charset=utf-8',
    data: json,
    cache: false,
    success: AjaxSucceeded,
    error: AjaxFailed
});

Penyelesaian 2: Kembalikan JSON daripada Pelayan

Sebagai alternatif, anda boleh mengubah suai kod C# sebelah pelayan anda untuk mengembalikan JSON dan bukannya HTML. Ini akan memastikan bahawa jQuery boleh menghuraikan respons dengan betul dan melaksanakan peristiwa kejayaan.

private void test() {
    Response.ContentType = "application/json";
    Response.Write("{ \"message\": \"Record Deleted\" }");
}

Dengan pengubahsuaian ini, jQuery akan menerima respons JSON yang sah dan mencetuskan peristiwa kejayaan seperti yang dijangkakan.

Atas ialah kandungan terperinci Mengapa Permintaan Ajax jQuery Saya Kembali 200 OK Tetapi Mencetuskan Peristiwa Ralat?. 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