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

Comment transmettre correctement un tableau JavaScript à un contrôleur MVC à l'aide de jQuery AJAX ?

DDD
DDDoriginal
2025-01-21 17:11:13749parcourir

How to Properly Pass a JavaScript Array to an MVC Controller Using jQuery AJAX?

Passage du tableau à la méthode du contrôleur MVC via jQuery Ajax

Lorsque vous essayez d'envoyer un tableau d'objets à une méthode de contrôleur via la fonction ajax() de jQuery, le paramètre reçu peut sembler nul. Pour résoudre ce problème, nous avons implémenté une solution utilisant JSON.stringify().

Considérez le scénario suivant :

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

    $.ajax({
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        type: 'POST',
        url: '/Xhr/ThingController/PassThing',
        data: JSON.stringify({ 'things': things })
    });
});</code>

Dans le contrôleur :

<code class="language-csharp">public class ThingController : Controller
{
    public void PassThing(List<Thing> things)
    {
        // 在此处处理`things`
    }

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

Principaux points à retenir de cette méthode :

  • contentType et dataType doivent être définis : Ces paramètres sont cruciaux pour la fonction ajax().
  • Corriger la stringification JSON : Pour transmettre un tableau d'objets, utilisez le format JSON.stringify({ 'things': Things }).

Cette méthode permet le transfert transparent d'un tableau d'objets vers une méthode de contrôleur MVC via la fonction ajax() de jQuery.

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!

Déclaration:
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