Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Menyiarkan Susunan Objek Kompleks dari jQuery ke Pengawal ASP.NET MVC Menggunakan JSON?

Bagaimana untuk Menyiarkan Susunan Objek Kompleks dari jQuery ke Pengawal ASP.NET MVC Menggunakan JSON?

Mary-Kate Olsen
Lepaskan: 2025-01-02 15:01:37
asal
249 orang telah melayarinya

How to Post an Array of Complex Objects from jQuery to an ASP.NET MVC Controller Using JSON?

jQuery dan ASP.NET MVC: Menyiarkan Susunan Objek Kompleks dengan JSON

Masalah:

Bagaimana anda boleh menghantar pelbagai objek kompleks kepada pengawal ASP.NET MVC daripada jQuery permintaan AJAX? Apakah parameter yang harus diterima oleh tindakan pengawal?

Penyelesaian:

Untuk menyiarkan tatasusunan objek kompleks ke pengawal menggunakan jQuery dan JSON, ikut langkah berikut:

  1. Sirikan tatasusunan ke JSON:

    Gunakan JSON.stringify() untuk menukar tatasusunan objek kepada rentetan JSON.

  2. Tetapkan pengepala permintaan:

    Nyatakan pengepala Jenis Kandungan kepada aplikasi/json; charset=utf-8.

  3. Gunakan kaedah $.ajax():

    Buat permintaan AJAX menggunakan $.ajax() kaedah dan menyediakan data JSON sebagai data parameter.

Tindakan Pengawal:

Hias tindakan pengawal anda dengan atribut tersuai (JsonFilter) untuk menyahsiri data JSON. Atribut harus menyatakan nama parameter dan jenis data JSON.

Atribut Tersuai (JsonFilter):

public class JsonFilter : ActionFilterAttribute
{
    public string Param { get; set; }
    public Type JsonDataType { get; set; }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (filterContext.HttpContext.Request.ContentType.Contains("application/json"))
        {
            string inputContent;
            using (var sr = new StreamReader(filterContext.HttpContext.Request.InputStream))
            {
                inputContent = sr.ReadToEnd();
            }
            var result = JsonConvert.DeserializeObject(inputContent, JsonDataType);
            filterContext.ActionParameters[Param] = result;
        }
    }
}
Salin selepas log masuk

Contoh:

JavaScript:

function getplaceholders() {
    var widgets = [];
    // ... populate the array

    $.ajax({
        url: '/portal/Designer.mvc/SaveOrUpdate',
        type: 'POST',
        dataType: 'json',
        data: JSON.stringify(widgets),
        contentType: 'application/json; charset=utf-8'
    });
}
Salin selepas log masuk

Tindakan Pengawal:

[JsonFilter(Param = "widgets", JsonDataType = typeof(List<PageDesignWidget>))]
public JsonResult SaveOrUpdate(List<PageDesignWidget> widgets)
{
    // ...
}
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyiarkan Susunan Objek Kompleks dari jQuery ke Pengawal ASP.NET MVC Menggunakan JSON?. 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan