Maison >développement back-end >C++ >Comment effectuer des appels Ajax efficaces vers un contrôleur ASP.NET MVC ?
Un guide complet pour envoyer des requêtes Ajax aux contrôleurs ASP.NET MVC à l'aide de jQuery
Cet article vous expliquera comment utiliser jQuery pour lancer des requêtes Ajax vers les contrôleurs ASP.NET MVC, y compris l'implémentation de contrôleurs et de vues, ainsi que la communication client-serveur.
Fonctionnement du contrôleur
Votre contrôleur doit définir des actions pour gérer les requêtes Ajax. Dans l'exemple suivant, FirstAjax
est une opération qui répond avec des données au format JSON :
<code class="language-csharp">public ActionResult FirstAjax() { return Json("chamara", JsonRequestBehavior.AllowGet); }</code>
Voir
La vue initialise jQuery et envoie une requête Ajax à l'action FirstAjax
. La requête inclut un gestionnaire de réussite qui affiche la réponse dans une boîte d'alerte :
<code class="language-javascript">$(document).ready(function () { var serviceURL = '/AjaxTest/FirstAjax'; $.ajax({ type: "POST", url: serviceURL, contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc }); function successFunc(data, status) { alert(data); } function errorFunc() { alert('error'); } });</code>
Plan d'amélioration
Notez que l'attribut data
dans la requête Ajax d'origine pose des problèmes car votre contrôleur n'attend aucun paramètre. Supprimer cet attribut et utiliser la méthode @Url.Action
résoudra le problème :
<code class="language-javascript">$.ajax({ url: '@Url.Action("FirstAjax", "AjaxTest")', contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc });</code>
Pour les requêtes POST qui incluent des données, vous devez modifier l'action du contrôleur pour accepter les paramètres et modifier la requête Ajax pour inclure les données :
<code class="language-csharp">// 控制器 [HttpPost] public ActionResult FirstAjax(string a) { return Json("chamara", JsonRequestBehavior.AllowGet); } // 视图 $.ajax({ type: "POST", url: '@Url.Action("FirstAjax", "AjaxTest")', contentType: "application/json; charset=utf-8", data: { a: "testing" }, dataType: "json", success: function() { alert('Success'); }, error: errorFunc });</code>
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!