Heim >Backend-Entwicklung >C++ >Wie führt man effektive Ajax-Aufrufe an einen ASP.NET MVC-Controller durch?
Eine vollständige Anleitung zum Senden von Ajax-Anfragen an ASP.NET MVC-Controller mithilfe von jQuery
In diesem Artikel erfahren Sie, wie Sie mit jQuery Ajax-Anfragen an ASP.NET MVC-Controller initiieren, einschließlich der Implementierung von Controllern und Ansichten sowie der Client-Server-Kommunikation.
Controller-Bedienung
Ihr Controller sollte Aktionen für die Bearbeitung von Ajax-Anfragen definieren. Im folgenden Beispiel ist FirstAjax
eine Operation, die mit Daten im JSON-Format antwortet:
<code class="language-csharp">public ActionResult FirstAjax() { return Json("chamara", JsonRequestBehavior.AllowGet); }</code>
Ansicht
Die-Ansicht initialisiert jQuery und stellt eine Ajax-Anfrage an die FirstAjax
-Aktion. Die Anfrage enthält einen Erfolgshandler, der die Antwort in einem Warnfeld anzeigt:
<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>
Verbesserungsplan
Beachten Sie, dass das Attribut data
in der ursprünglichen Ajax-Anfrage Probleme verursacht, da Ihr Controller keine Parameter erwartet. Das Entfernen dieses Attributs und die Verwendung der @Url.Action
-Methode lösen das Problem:
<code class="language-javascript">$.ajax({ url: '@Url.Action("FirstAjax", "AjaxTest")', contentType: "application/json; charset=utf-8", dataType: "json", success: successFunc, error: errorFunc });</code>
Für POST-Anfragen, die Daten enthalten, müssen Sie die Controller-Aktion ändern, um die Parameter zu akzeptieren, und die Ajax-Anfrage so ändern, dass sie die Daten enthält:
<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>
Das obige ist der detaillierte Inhalt vonWie führt man effektive Ajax-Aufrufe an einen ASP.NET MVC-Controller durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!