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

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

DDD
Lepaskan: 2024-11-04 09:02:30
asal
875 orang telah melayarinya

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);
        }
    }
);
Salin selepas log masuk

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);
    Salin selepas log masuk
  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',
    Salin selepas log masuk

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);
    }
});
Salin selepas log masuk

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan