Dalam pembangunan web, selalunya penting untuk menghantar data dengan cekap antara pihak pelanggan dan pelayan. jQuery, perpustakaan JavaScript yang popular, menawarkan kaedah yang mudah untuk mengendalikan pertukaran data tersebut. Satu tugas biasa ialah menghantar data dalam format JSON ke pelayan menggunakan jQuery.
Walau bagaimanapun, kadangkala pembangun menghadapi isu di mana data tidak dihantar dalam format JSON yang dikehendaki tetapi sebagai teks biasa. Untuk memahami sebab ini berlaku, mari kita periksa coretan kod:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
Kod ini cuba menghantar data dalam objek arr ke pelayan Ajax.ashx menggunakan kaedah $.ajax. Walau bagaimanapun, isu ini timbul kerana kod tersebut tidak menyatakan jenis kandungan permintaan atau membina permintaan JSON dengan betul.
Untuk membetulkannya, kaedah JSON.stringify harus digunakan untuk menukar objek JavaScript kepada rentetan JSON asli :
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); } });
Perhatian Penting:
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Mengapa permintaan jQuery AJAX saya menghantar data sebagai teks biasa dan bukannya JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!