Einen einfachen Ajax-Aufruf an den Controller in asp.net mvc senden
Ich versuche, mit ASP.NET MVC Ajax-Aufrufen zu beginnen.
Regler:
public class AjaxTestController : Controller
{
//
// GET: /AjaxTest/
public ActionResult Index()
{
return View();
}
public ActionResult FirstAjax()
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
}
Aussicht:
<head runat="server">
<title>FirstAjax</title>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
var serviceURL = '/AjaxTest/FirstAjax';
$.ajax({
type: "POST",
url: serviceURL,
data: param = "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: successFunc,
error: errorFunc
});
function successFunc(data, status) {
alert(data);
}
function errorFunc() {
alert('error');
}
});
</script>
</head>
Ich muss nur eine Warnung mit der Controller-Methode drucken, die Daten zurückgibt. Über Code drucken Sie einfach "Chamara" auf meiner Ansicht. Ein Alarm wird nicht ausgelöst.
AKTUALISIEREN
Ich habe meinen Controller wie folgt geändert und er funktioniert nun. Ich habe keine klare Vorstellung, warum es jetzt funktioniert. Jemand bitte erklären. Der Parameter "a" hat nichts damit zu tun. Ich habe ihn hinzugefügt, weil ich nicht zwei Methoden mit demselben Methodennamen und denselben Parametern hinzufügen kann. Ich denke, dies ist möglicherweise nicht die Lösung, aber es funktioniert
public class AjaxTestController : Controller
{
//
// GET: /AjaxTest/
[HttpGet]
public ActionResult FirstAjax()
{
return View();
}
[HttpPost]
public ActionResult FirstAjax(string a)
{
return Json("chamara", JsonRequestBehavior.AllowGet);
}
}