Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengapa Saya Menerima Rentetan Pertanyaan Sebaliknya?

Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengapa Saya Menerima Rentetan Pertanyaan Sebaliknya?

Susan Sarandon
Susan Sarandonasal
2024-11-02 10:30:30131semak imbas

How to Send JSON Data with jQuery: Why Am I Receiving a Query String Instead?

Memahami Penghantaran Data JSON dengan jQuery

Menghantar data dalam format JSON adalah penting untuk komunikasi yang cekap antara halaman web dan pelayan. Walau bagaimanapun, jika anda menghadapi data dihantar dalam cara yang tidak diformat, seperti "City=Moscow&Age=25", ini mungkin disebabkan oleh kekurangan konfigurasi permintaan yang betul.

Kod yang disediakan cuba menghantar data JSON menggunakan jQuery's kaedah $.ajax(). Secara lalai, jQuery menukar data kepada rentetan pertanyaan, menghasilkan format "City=Moscow&Age=25". Untuk menyelesaikan masalah ini, ikut langkah berikut:

  1. Gunakan JSON.stringify(): Tukar objek JavaScript (arr) kepada rentetan JSON menggunakan JSON.stringify().
  2. Tetapkan Jenis Kandungan Permintaan: Tentukan jenis kandungan permintaan sebagai "application/json; charset=utf-8" menggunakan sifat contentType. Ini memberitahu pelayan bahawa data sedang dihantar sebagai JSON.
  3. Pastikan Respons JSON: Tetapkan sifat dataType: 'json' untuk menunjukkan bahawa respons yang dijangkakan daripada pelayan harus berada dalam JSON format.

Berikut ialah pembetulan kod:

<code class="javascript">var arr = { City: 'Moscow', Age: 25 };
$.ajax({
    url: 'Ajax.ashx',
    type: 'POST',
    data: JSON.stringify(arr),
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    async: false,
    success: function(msg) {
        alert(msg);
    }
});</code>

Nota Tambahan:

  • arr bukan tatasusunan tetapi objek JavaScript. Tatasusunan disertakan dalam [].
  • Panggil balik kejayaan akan menghuraikan respons JSON secara automatik ke dalam objek JavaScript jika pelayan menghormati protokol HTTP dan membalas dengan "Content-Type: application/json."

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengapa Saya Menerima Rentetan Pertanyaan Sebaliknya?. 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