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 dem Code drucken Sie einfach "Chamara" in meiner Ansicht. Ein Alarm wird nicht ausgelöst.
AKTUALISIEREN
Ich habe meinen Controller wie folgt geändert und er funktioniert. 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);
}
}
{"name":"chamara"}
. dann versuchen zu lesen alsdata['name']