在asp.net中从Ajax POST检索数据

时间:2013-01-28 13:43:59

标签: c# asp.net jquery

我有像这样的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)。实际上在一个特定的类文件中我需要实现这个逻辑。

1 个答案:

答案 0 :(得分: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