1

私はこのようなajaxPOSTを持っています

 $(document).ready(function () {

    var pcontent = document.body.innerHTML;
    var url = new URI();

    $.ajax({
        url: url,
        type: "POST",
        data: { "pcontent": pcontent },
        success: function (data) {

            alert($(data).find(".right-panel").html());

        },
        complete: function () {

        },
        error: function (jqXHR, error, errorThrown) {
            if (jqXHR.status) {
                alert(jqXHR.responseText);
            } else {
                alert("Something went wrong");
            }
        }
    });
    return false;
});

コードビハインドでここに投稿したデータ(pcontent)を取得する方法については、少し混乱しています。実際には、このロジックを実装する必要がある特定のクラスファイルにあります。

4

1 に答える 1

3

コントローラアクションを作成する必要があります。

public class HomeController: {
     // model
     public class PDocument {
          public string pcontent {get;set;}
     }

     [HttpPost]
     public ActionResult SaveDocument(PDocument pcontent){
          // do something
          return new JsonResult() { Data = new { Success = true } };
     }
}

JS:

$.ajax({
    url: "Home/SaveDocument",
    type: "POST",
    data: { "pcontent": pcontent} 
...});

ノート:

  • 設定されている場合、サーバー上にモデルを作成する必要はありません

    $.ajax({
        url: "Home/SaveDocument",
        type: "POST",
        data: pcontent
    });
    
    
    // server side
    
    public ActionResult SaveDocument(string pcontent){
        // do some thing
    }
    
  • セキュリティ上の理由から、ajaxを呼び出す前にHTMLをエンコードする必要があります

mvcを初めて使用する場合は、次の方法から始めるとよいでしょう。http ://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller

于 2013-01-28T13:55:42.633 に答える