1

我有一个像这样的ajax POST

 $(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
    }
    
  • 出于安全原因,您的 html 必须在调用 ajax 之前进行编码

如果您是 mvc 新手,那么这是一个很好的开始方式:http ://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-controller

于 2013-01-28T13:55:42.633 回答