Ich versuche Ajax.BeginForm() zu verwenden, um ein Json-Ergebnis von meinem Controller (ich verwende MVC3) POST. Wenn das Json Ergebnis genannt wird, soll es zu einer Javascript-Funktion gesendet werden und das Objekt extrahiertASP.NET MVC3 - Fehler mit Javascript
var myObject = content.get_response().get_object();
mit aber es nur ein wirft „Microsoft JScript-Laufzeitfehler: Objekt unterstützt diese Eigenschaft oder diese Methode nicht unterstützt“, wenn sie versuchen, Rufen Sie den Ajax POST auf.
Mein Code:
Controller:
[HttpPost]
public ActionResult Index(string message)
{
return Json(new { Success = true, Message = message });
}
Ausblick:
<!DOCTYPE html>
<html>
<head>
<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftAjax.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/MicrosoftMvcAjax.js")" type="text/javascript"></script>
<script type="text/javascript">
function JsonAdd_OnComplete(mycontext) {
var myObject = mycontext.get_response().get_object();
alert(mycontext.Message);
}
</script>
</head>
<body>
<div>
@using(Ajax.BeginForm("Index", "Home", new AjaxOptions() { HttpMethod = "POST", OnComplete = "JsonAdd_OnComplete" }))
{
@Html.TextBox("message")
<input type="submit" value="SUBMIT" />
}
</div>
</body>
</html>
Das Merkwürdige ist, dass das genau denselben Code in MVC2 funktioniert - Ist das ein Bug, oder Habe ich etwas vergessen?
Vielen Dank im Voraus.
ich ASP weiß nicht, aber Bist du sicher, dass 'OnComplete = "JsonAdd_OnComplete" 'nicht vielleicht' OnComplete = JsonAdd_OnComplete 'sein sollte ?? Mit anderen Worten, zitieren Sie nicht den Funktionsnamen ... – Pointy
Ja, laut der Dokumentation sollte es "FunctionName" sein. - Ich habe OnComplete = JsonAdd_OnComplete auch versucht, aber es gibt nur einen Kompilierfehler zurück, weil es kein String ist. – ebb