Maison > développement back-end > C++ > Comment transmettre avec succès un tableau d'objets à un contrôleur MVC à l'aide de jQuery Ajax ?

Comment transmettre avec succès un tableau d'objets à un contrôleur MVC à l'aide de jQuery Ajax ?

DDD
Libérer: 2025-01-21 17:26:09
original
430 Les gens l'ont consulté

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

Passer un tableau d'objets à la méthode du contrôleur MVC à l'aide de jQuery Ajax

Lorsque vous essayez de transmettre un tableau d'objets à une méthode d'un contrôleur MVC à l'aide de la fonction ajax() de jQuery, vous pouvez rencontrer une situation où le paramètre "things" dans la méthode du contrôleur est vide. Ce problème peut se produire même lors de l’utilisation de List comme type de paramètre.

La solution à ce problème est la suivante :

<code class="language-javascript">things = JSON.stringify({ 'things': things });</code>
Copier après la connexion

En encapsulant le tableau "things" dans un objet JSON de cette façon, vous pouvez transmettre avec succès le tableau à la méthode du contrôleur.

Le code complet de cette implémentation est le suivant :

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

    things = JSON.stringify({ 'things': things });

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '/Home/PassThings',
        data: things,
        success: function () {          
            $('#result').html('"PassThings()" successfully called.');
        },
        error: function (response) {          
            $('#result').html(response.responseText); // 使用 response.responseText 获取错误信息
        }
    }); 
});</code>
Copier après la connexion
<code class="language-csharp">public void PassThings(List<Thing> things)
{
    // 处理things数据
}

public class Thing
{
    public int Id { get; set; }
    public string Color { get; set; }
}</code>
Copier après la connexion

Veuillez noter deux aspects importants de cette mise en œuvre :

  1. Il est important d'utiliser les paramètres suivants dans la fonction ajax() :
<code class="language-javascript">        contentType: 'application/json; charset=utf-8',
        dataType: 'json',</code>
Copier après la connexion
  1. Pour transmettre un tableau d'objets à une méthode de contrôleur MVC, utilisez le format JSON suivant :
<code class="language-javascript">
JSON.stringify({ 'things': things })
```  并且在`failure`回调函数中,使用 `response.responseText` 获取服务器返回的错误信息,以更准确地处理错误。


通过以上步骤,您可以确保将对象数组正确地传递给您的MVC控制器。</code>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal