200 Respons OK Mencetuskan Peristiwa Ralat dalam Ajax: Punca Punca dan Penyelesaian
Apabila permintaan Ajax mengembalikan respons 200 OK, tingkah laku lalai jQuery adalah untuk melaksanakan acara kejayaan. Walau bagaimanapun, dalam beberapa kes, peristiwa ralat mungkin dicetuskan. Percanggahan ini timbul daripada ketidakpadanan antara respons yang dijangkakan dan respons sebenar.
Kes Respons JSON Tidak Sah
Dalam contoh yang disediakan, kod jQuery menentukan jenis data daripada "json." Ini mencetuskan jQuery untuk mengharapkan respons JSON yang sah daripada pelayan. Walau bagaimanapun, kod C# mengembalikan HTML dengan kod status 200 OK.
Memandangkan respons tidak mematuhi format JSON yang dijangkakan, jQuery mentafsirkannya sebagai ralat dan menyalakan peristiwa ralat. Untuk menyelesaikan masalah ini, adalah disyorkan untuk mengalih keluar parameter dataType daripada kod jQuery. Ini akan mengarahkan jQuery untuk menganggap respons sebagai rentetan data mentah.
Mengembalikan Respons JavaScript
Penyelesaian lain ialah mengubah suai kod sebelah pelayan untuk mengembalikan yang sah Respons JavaScript. Ini boleh dicapai dengan menetapkan pengepala Jenis Kandungan kepada "aplikasi/javascript" dan kemudian membenamkan kod JavaScript yang diingini (cth., "alert('Rekod Dipadam');") sebagai respons.
Mengembalikan Respons JSON
Untuk fleksibiliti yang lebih besar, selalunya lebih baik untuk mengembalikan respons JSON dan mengendalikan menghuraikan dan memaparkan dalam panggilan balik kejayaan. Untuk melakukan ini, kod sebelah pelayan hendaklah:
Dalam kod jQuery, panggilan balik kejayaan kemudian boleh diubah suai untuk menghuraikan respons JSON dan memaparkan mesej dengan sewajarnya.
Atas ialah kandungan terperinci Mengapa 200 OK Ajax Respons Kadangkala Mencetuskan Peristiwa Ralat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!