Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengelakkan Rentetan Dikodkan Borang?

Bagaimana untuk Menghantar Data JSON dengan jQuery: Mengelakkan Rentetan Dikodkan Borang?

DDD
DDDasal
2024-11-04 09:02:30828semak imbas

How to Send JSON Data with jQuery: Avoiding Form-Encoded Strings?

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:

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

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