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

Comment transmettre correctement un tableau d'objets à un contrôleur MVC à l'aide de jQuery Ajax ?

DDD
Libérer: 2025-01-21 17:31:10
original
536 Les gens l'ont consulté

How to Correctly Pass an Array of Objects to an MVC Controller using jQuery Ajax?

Utilisez jQuery Ajax pour traiter des tableaux d'objets dans MVC (méthode PassThing())

Dans une application MVC, transmettre un tableau d'objets à une méthode de contrôleur à l'aide de la fonction ajax() de jQuery peut être difficile. La méthode PassThing() attend un tableau d'objets Thing, mais le tableau est transmis comme null.

Le problème

Le code fourni initialise un tableau d'objets Thing et tente de le transmettre à la méthode PassThing() à l'aide de JSON.stringify(). L'erreur se produit car le format des données envoyées au serveur ne correspond pas au format attendu par la méthode PassThing().

Solution

Pour résoudre ce problème, utilisez JSON.stringify({ 'things': Things }) pour convertir le tableau en un objet avec la propriété "things". Cette structure d'objet correspond aux paramètres attendus par la méthode PassThing(). Voici le code jQuery modifié :

<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: '/Xhr/ThingController/PassThing',
        data: things
    });
});</code>
Copier après la connexion

Autres notes

Pour garantir une livraison réussie des données :

  • Incluez les paramètres contentType et dataType dans la fonction ajax().
  • Définissez correctement la classe Thing et ses propriétés dans le contrôleur C#.
  • Utilisez le type List comme paramètre de la méthode PassThing().

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