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>
Autres notes
Pour garantir une livraison réussie des données :
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!