Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Meluluskan Susunan Objek kepada Pengawal MVC Menggunakan jQuery AJAX?

Bagaimana untuk Meluluskan Susunan Objek kepada Pengawal MVC Menggunakan jQuery AJAX?

Patricia Arquette
Patricia Arquetteasal
2025-01-21 17:17:14902semak imbas

How to Pass an Array of Objects to an MVC Controller Using jQuery AJAX?

Menggunakan jQuery AJAX untuk Menghantar Array Objek kepada Pengawal MVC

Apabila menghantar tatasusunan objek ke pengawal MVC menggunakan kaedah ajax() jQuery, masalah biasa ialah menerima nilai null untuk tatasusunan dalam pengawal. Ini boleh berlaku walaupun apabila parameter pengawal ditakrifkan dengan betul sebagai List<T>.

Penyelesaian melibatkan dua pelarasan utama:

  1. Nyatakan Jenis Data JSON: Panggilan ajax() mesti secara eksplisit menetapkan kedua-dua contentType dan dataType kepada 'application/json; charset=utf-8'.

  2. Sirikan Data dengan JSON.stringify(): Tatasusunan objek JavaScript perlu ditukar kepada rentetan JSON menggunakan JSON.stringify(). Yang penting, rentetan ini harus merangkum tatasusunan dalam sifat (cth., 'benda').

Berikut ialah kod yang diperbetulkan yang melaksanakan perubahan ini:

<code class="language-javascript">$(document).ready(function () {
    const things = [
        { id: 1, color: 'yellow' },
        { id: 2, color: 'blue' },
        { id: 3, color: 'red' }
    ];      

    const data = JSON.stringify({ things: things });

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '/Home/PassThings',
        data: data,
        success: function () {          
            $('#result').html('"PassThings()" successfully called.');
        },
        error: function (response) {          
            $('#result').html(response.responseText); // Display error details
        }
    }); 
});</code>

Dan kaedah pengawal C# yang sepadan:

<code class="language-csharp">public void PassThings(List<Thing> things)
{
    // Access the 'things' array here
}

public class Thing
{
    public int Id { get; set; }
    public string Color { get; set; }
}</code>

Dengan mengikuti langkah ini, anda akan berjaya menghantar tatasusunan objek ke kaedah pengawal MVC anda melalui jQuery AJAX. Perhatikan perubahan daripada failure kepada error dalam panggilan AJAX untuk pengendalian ralat yang lebih baik, memaparkan teks respons untuk tujuan penyahpepijatan.

Atas ialah kandungan terperinci Bagaimana untuk Meluluskan Susunan Objek kepada Pengawal MVC Menggunakan jQuery AJAX?. 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