Rumah > Artikel > pembangunan bahagian belakang > Mengapakah panggilan jQuery AJAX saya menerima mesej \"error: selector activated\" dan data JSON yang salah?
Respons PHP kepada Panggilan AJAX jQuery
Dalam perbincangan ini, kami akan meneroka isu mengembalikan JSON daripada PHP sebagai tindak balas kepada panggilan AJAX dibuat menggunakan jQuery.
Gambaran Keseluruhan Masalah
Pengguna menghadapi cabaran dalam mengendalikan respons JSON yang dikembalikan oleh PHP kepada panggilan AJAX jQuery. Isu ini ditunjukkan melalui mesej "ralat: pemilih diaktifkan" dan data JSON yang salah disenaraikan.
Analisis Kod PHP
Kod PHP yang disediakan nampaknya mengekod tatasusunan ke dalam JSON dan bergema hasilnya. Walau bagaimanapun, pembolehubah $output tidak dinyatakan dalam pernyataan gema. Untuk mengeluarkan JSON dengan betul, ia hendaklah:
<code class="php">echo $output;</code>
jQuery dan Kod AJAX
Dalam kod jQuery dan AJAX, dataType telah ditetapkan kepada "json ." Ini menunjukkan kepada jQuery bahawa ia akan menjangkakan respons JSON daripada pelayan.
Penyenaraian Data JSON
Output yang ditunjukkan dalam bahagian "Penyenaraian data JSON yang sepatutnya" mengandungi pengepala HTTP dan metadata lain tetapi bukan data JSON yang dijangkakan. Ini menunjukkan bahawa respons JSON tidak dikendalikan dengan betul.
Penyelesaian
Untuk menangani isu ini, adalah disyorkan untuk memfaktorkan semula kod PHP untuk mengembalikan JSON menggunakan yang berikut kaedah:
<code class="php">header('Content-Type: application/json'); echo json_encode(array('foo' => 'bar')); exit;</code>
Pendekatan ini menetapkan pengepala HTTP kepada "aplikasi/json" dan mengekod data JSON yang dikehendaki sebelum menggemakannya. Dengan berbuat demikian, respons JSON yang betul akan dikembalikan kepada panggilan jQuery AJAX dan ralat "pemilih diaktifkan" harus diselesaikan.
Atas ialah kandungan terperinci Mengapakah panggilan jQuery AJAX saya menerima mesej \"error: selector activated\" dan data JSON yang salah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!