Transmission et récupération de données de modèle à l'aide de FormData dans MVC
La transmission d'un objet de modèle complet via FormData peut être bénéfique lorsque vous travaillez avec des données complexes dans votre application Web. Voici comment y parvenir :
JavaScript :
Utilisez le constructeur FormData() avec l'élément form pour sérialiser le modèle :
var formdata = new FormData($('form').get(0));
Cela capturera les données des contrôles du formulaire, y compris tous les fichiers joints via .
Requête AJAX :
Configurez votre requête AJAX avec les paramètres appropriés :
$.ajax({ url: '@Url.Action("YourActionName", "YourControllerName")', type: 'POST', data: formdata, processData: false, contentType: false, });
Contrôleur :
Dans votre contrôleur, créez une action pour gérer le request :
[HttpPost] public ActionResult YourActionName(YourModelType model) { }
MVC liera automatiquement les données du modèle sérialisé à une instance de YourModelType. Si le modèle contient une propriété pour HttpPostedFileBase, l'action de votre contrôleur peut également inclure un paramètre pour celle-ci.
Données supplémentaires :
Si vous devez inclure des données supplémentaires qui n'est pas présent dans le formulaire, vous pouvez utiliser la méthode append() sur l'objet FormData :
formdata.append('someProperty', 'SomeValue');
En suivant ces étapes, vous pouvez transférer un objet modèle complet via FormData lors d'une requête AJAX et le récupérer facilement dans l'action du contrôleur correspondante pour un traitement ultérieur.
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!