Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapakah panggilan jQuery AJAX saya menerima mesej \"error: selector activated\" dan data JSON yang salah?

Mengapakah panggilan jQuery AJAX saya menerima mesej \"error: selector activated\" dan data JSON yang salah?

Barbara Streisand
Barbara Streisandasal
2024-11-02 19:06:30135semak imbas

Why is my jQuery AJAX call receiving an

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!

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