Peristiwa Kejayaan jQuery Ajax Gagal Walaupun 200 Respons OK
Mekanisme permintaan Ajax jQuery biasanya mentafsir badan tindak balas berdasarkan sama ada parameter jenis data atau pengepala Jenis Kandungan yang diterima daripada pelayan. Walau bagaimanapun, jika proses penukaran ini menghadapi ralat, seperti data JSON atau XML yang tidak sah, jQuery melaksanakan peristiwa ralat.
Penyiasatan Masalah
Dalam senario khusus ini, yang disediakan Kod jQuery mentakrifkan dataType: "json", menunjukkan bahawa ia menjangkakan respons berada dalam format JSON. Walau bagaimanapun, kod sebelah pelayan dalam JqueryOperation.aspx mengeluarkan coretan HTML biasa dengan status 200 OK. Ketidakkonsistenan ini menyebabkan jQuery gagal menghuraikan respons sebagai JSON yang sah, mengakibatkan ralat panggil balik dicetuskan.
Penyelesaian
Untuk menyelesaikan isu ini, halang jQuery daripada mentafsir respons sebagai JSON. Untuk berbuat demikian, alih keluar parameter dataType daripada kod jQuery. Selain itu, ubah suai kod sisi pelayan dalam JqueryOperation.aspx untuk mengembalikan:
Content-Type: application/javascript alert("Record Deleted");
Sebagai alternatif, untuk pendekatan yang lebih mantap, pertimbangkan untuk mengembalikan respons JSON dan memaparkan mesej dalam panggilan balik kejayaan:
Content-Type: application/json {"message": "Record deleted"}
Atas ialah kandungan terperinci Mengapa Acara Kejayaan Ajax jQuery Saya Gagal Walaupun 200 Respons OK?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!