Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengelakkan Rentetan Dikodkan Borang?
Hantar Data JSON dengan jQuery: Mengelakkan Rentetan Dikodkan Borang
Semasa menggunakan $.ajax() jQuery untuk menghantar data JSON, pembangun boleh menghadapi masalah di mana data dihantar sebagai rentetan yang dikodkan borang dan bukannya format JSON yang dimaksudkan. Ini berlaku apabila parameter tertentu diabaikan.
Pertimbangkan kod berikut:
var arr = {City:'Moscow', Age:25}; $.ajax( { url: "Ajax.ashx", type: "POST", data: arr, dataType: 'json', async: false, success: function(msg) { alert(msg); } } );
Dalam kod ini, data sedang dihantar sebagai rentetan yang dikodkan dalam bentuk (cth., "City=Moscow&Age= 25") dan bukannya JSON. Untuk menyelesaikan isu ini, dua langkah penting mesti diambil:
Tukar Data kepada Format JSON:
Gunakan kaedah JSON.stringify() untuk menukar Objek JavaScript (arr) ke dalam rentetan JSON.
var arr = { City: 'Moscow', Age: 25 }; var json_data = JSON.stringify(arr);
Nyatakan Jenis Kandungan Permintaan:
Tetapkan sifat contentType kepada 'application/json; charset=utf-8' untuk menunjukkan bahawa permintaan mengandungi data JSON.
contentType: 'application/json; charset=utf-8',
Kod yang diperbetulkan di bawah menggabungkan perubahan ini:
$.ajax({ url: 'Ajax.ashx', type: 'POST', data: json_data, contentType: 'application/json; charset=utf-8', dataType: 'json', async: false, success: function(msg) { alert(msg); } });
Pelarasan ini memastikan bahawa data dihantar sebagai JSON, membenarkan pelayan memproses permintaan dengan betul dan mengembalikan respons JSON yang diingini.
Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengelakkan Rentetan Dikodkan Borang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!