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.
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.
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 });
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!