Maison >interface Web >js tutoriel >Comment puis-je garantir une liaison d'objet appropriée lors de la transmission de données JSON en tant qu'objets dans les requêtes POST dans les applications API Web ASP.NET MVC4 ?
Dans les applications API Web ASP.NET MVC4, un problème courant survient lors de la tentative de transmission de données client en tant que JSON dans un POST demande, ce qui entraîne des valeurs nulles pour les propriétés du client. Pour résoudre ce problème, nous devons comprendre l'approche correcte.
Initialement, il a été suggéré d'utiliser « Content-Type : application/x-www-form-urlencoded » comme type de contenu par défaut. Cependant, cette approche n'est plus recommandée car elle peut entraîner des problèmes de liaison d'objets complexes.
Pour garantir une liaison d'objet appropriée, nous devons utiliser " application/json" comme type de contenu. Cela indique au serveur que nous envoyons des données JSON, permettant au classeur de modèles de lier correctement l'objet JSON à l'objet de classe correspondant.
Extrait de code :
var customer = {contact_name :"Scott",company_name:"HP"}; $.ajax({ type: "POST", data :JSON.stringify(customer), url: "api/Customer", contentType: "application/json" });
Explication :
En utilisant « application/json », nous informons explicitement le serveur que les données que nous envoyons sont au format JSON. Cela permet au classeur de modèles de désérialiser les données JSON dans l'objet Client, permettant ainsi à la méthode d'action d'accéder aux propriétés du client sans valeurs nulles.
Dans les cas où la classe de modèle est complexe, contenant des objets imbriqués, nous devons nous assurer que l'objet JavaScript que nous envoyons correspond à la structure de la classe de modèle de vue. Le classeur de modèles peut alors également lier correctement les objets imbriqués.
Si certaines propriétés ne sont pas liées correctement, assurez-vous que le paramètre de méthode d'action est décoré avec le [FromBody] attribut. Cet attribut demande au classeur de modèles de rechercher les données dans le corps de la demande. De plus, évitez d'utiliser la forme plus courte de $.post, car elle utilise le type de contenu par défaut et peut entraîner des problèmes de liaison partielle.
En respectant ces directives, vous pouvez transmettre efficacement les données JSON en tant qu'objets dans les requêtes POST. , en garantissant que les données publiées sont correctement liées aux objets de classe appropriés dans votre application API Web ASP.NET MVC4.
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!