2012-08-26 4 views
5

Ich habe gesehen, wie ich zu einem Objekt in JSON serialisieren kann. Wie kann ich einen String POST, der eine zurückgibt?Veröffentlichen Sie eine Zeichenfolge zu mvc

  $.ajax({ 
       url: url, 
       dataType: 'html', 
       data: $(this).val(), //$(this) is an html textarea 
       type: 'POST', 
       success: function (data) { 
        $("#report").html(data); 
       }, 
       error: function (data) { 
        $("#report").html('An Error occured. Invalid characters include \'<\'. Error: ' + data); 
       } 
      }); 

MVC

[HttpPost] 
    public ActionResult SomeReport(string input) 
    { 
     var model = new ReportBL(); 
     var report = model.Process(input); 
     return View(report); 
    } 
+0

Werfen Sie einen Blick auf diesen Beitrag und Darins Antwort: http://stackoverflow.com/questions/5046930/jquery-send-string-as -post-parameter – Sam

Antwort

5

Wie wäre:

 $.ajax({ 
      url: url, 
      dataType: 'html', 
      data: {input: $(this).val()}, //$(this) is an html textarea 
      type: 'POST', 
      success: function (data) { 
       $("#report").html(data); 
      }, 
      error: function (data) { 
       $("#report").html('An Error occured. Invalid characters include \'<\'. Error: ' + data); 
      } 
     }); 

Wenn Sie die data ein JSON-Objekt mit einem Schlüssel zu machen, die den Parameternamen entspricht MVC sollte es abholen.

Auf der Seite MVC ...

[HttpPost] 
public ActionResult SomeReport() 
{ 
    string input = Request["input"]; 
    var model = new ReportBL(); 
    var report = model.Process(input); 
    return View(report); 
} 
+0

Ich habe dies mit einer von Darins Antworten kombiniert und es funktioniert wirklich gut. http://stackoverflow.com/questions/5088450/simple-mvc3-question-how-to-retreive-form-values-from-httppost-dictionary-or –

0

Sie könnten Ihr Ergebnis als JSON-Format zurückkehren möchten. Nicht sicher, wie dies mit asp.net genau zu tun, aber wenn es Rails wäre, wäre es return @foo.to_json

Verwandte Themen