Empfangen von JSON-Daten innerhalb OnComplete-event-Funktion in Ajax.Beginform

Ich versuche, die Ajax verwenden.BeginForm Funktionen.

Form gepostet ist richtig, aber ich brauche zum abrufen von Daten im json-format, von meinem controller-action und erfrischt die div mit dem Operationsergebnis Meldung.

Ich haben einige Vorschläge hier im Stackoverflow, aber keiner ist hilfreich.

Hier ist ein Vorschlag gefunden:

var data = content.get_response().get_object();

Aber es hat nicht funktioniert für mich. Und ich glaube, die ist veraltet, die bis heute funktionsfähig nur für MVC 2 und niedrigeren Versionen.
Meine aktuelle MVC version ist 3.

Hier ist ein Stück code:

<script type="text/javascript">
   function fnCompleted(data){
    if(data.Success)
    $("#somediv").html(data.StatusMessage).addClass("success");
    else
    $("#somediv").html(data.StatusMessage).addClass("error");
   }
</script>

@{
   var ajaxOptions= new AjaxOptions{
                    OnComplete= "fnCompleted",
                    Url= '@Url.Action("myAction", "myController")',
                    Method= "POST"
 }     

<div id="somediv">/*Here goes the json response*/</div>

using(Ajax.BeginForm(ajaxOptions)){

 @Html.EditorForModel()
 <input type="submit" name="send" value="Send">

}

Hier ist ein Stück von meinem controller-action:

[HttpPost]
 public JsonResult myAction(MyModel mymodel)
 {
  try
        {
            if (myModel== null)
                throw new Exception("The model is empty");
            if (!ModelState.IsValid)
                throw new Exception("The model is wrong");

            var found = /*Look for existence of the model in the database*/;
            if(found)
                throw new Exception("Already exists the object");

            /*Operation with the database*/

            var result = Json(
                new
                {
                    Success = true,//success
                    StatusMessage = "Object created successfully"
                });
            return result;
        }
        catch (Exception exception)
        {
            var result = Json(
                new
                {
                    Success = false,//error
                    StatusMessage = exception.Message
                });
            return result;
        }
   }
  • fügen Sie, was Sie versucht, um Ihre post
  • Bitte geben Sie ein code-Beispiel, so können wir klarer verstehen, was du beschreibst. Was haben Sie versucht? Was funktionierte? Wie weit haben Sie bekommen? Ein JSFiddle wäre ideal, und einige Beispiel-code aus dem Controller, die Sie versuchen zu nennen.
InformationsquelleAutor Felix Aballi | 2013-02-19
Schreibe einen Kommentar