Rumah > hujung hadapan web > tutorial js > Bagaimana untuk Menghantar Data JSON dengan $.ajax jQuery Tanpa Penukaran Rentetan Pertanyaan?

Bagaimana untuk Menghantar Data JSON dengan $.ajax jQuery Tanpa Penukaran Rentetan Pertanyaan?

Patricia Arquette
Lepaskan: 2024-11-03 12:56:02
asal
462 orang telah melayarinya

How to Send JSON Data with jQuery's $.ajax Without Query String Conversion?

Transmisi JSON dalam jQuery: Melarikan diri dari Perangkap Rentetan Pertanyaan

Apabila menggunakan fungsi $.ajax jQuery, adalah perkara biasa untuk menghadapi tingkah laku yang tidak dijangka di mana data dihantar sebagai JSON secara automatik ditukar menjadi rentetan pertanyaan. Ini boleh menjadi masalah jika aplikasi anda bergantung pada penerimaan objek JSON sebenar.

Atribut 'dataType: 'json'' yang Mengelirukan

Naluri pertama adalah untuk menetapkan atribut 'dataType' kepada 'json' untuk menentukan jenis data yang dijangkakan. Walau bagaimanapun, ini hanya menentukan jenis data yang diharapkan daripada pelayan, bukan apa yang anda hantar kepadanya.

Penyelesaian: JSON.stringify dan Jenis Kandungan

Untuk menyelesaikan isu ini, anda perlu menggunakan JSON.stringify untuk mensiri objek JavaScript anda ke dalam rentetan JSON. Selain itu, anda mesti menetapkan sifat 'contentType' kepada 'application/json' untuk mengarahkan pelayan bahawa data yang dihantar ialah JSON.

$.ajax({
    url: url,
    type: "POST",
    data: JSON.stringify(data),
    contentType: "application/json",
    complete: callback
});
Salin selepas log masuk

Sokongan Warisan

Pelayar moden menyediakan fungsi JSON asli. Walau bagaimanapun, jika sokongan warisan diperlukan, pustaka json2 boleh digunakan untuk meniru tingkah laku JSON untuk persekitaran yang lebih lama.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSON dengan $.ajax jQuery Tanpa Penukaran Rentetan Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan