Dans l'application MVC, la transmission du modèle en tant que données de formulaire dans le cadre des données de formulaire peut apporter des défis, en particulier lors du traitement de l'ensemble du modèle entier. Cet article résout ce problème en fournissant une solution complète.
Défi: la sérialisation du modèle en javascript
Lorsque vous essayez d'utiliser pour attacher le modèle aux données de formulaire dans les données de formulaire en JavaScript, le modèle est généralement sérialisé sous forme de chaîne, résultant en une représentation "
".
formdata.append("model", model)
Solution: FormData Serialization [object object]
Afin de surmonter ce problème, veuillez utiliser la fonction de construction FormData comme suit le modèle de sérialisation:
Cette méthode sérialisera automatiquement les modèles et tout fichier généré par élément.
var formdata = new FormData($('form').get(0));
<input type="file">
Sur le côté du contrôleur, définissez une opération pour recevoir les données de formulaire:
Si votre modèle n'inclut pas
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
HttpPostedFileBase
[HttpPost] public ActionResult YourActionName(YourModelType model, HttpPostedFileBase myImage) { }
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!