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

本文关键字:POST 检索 数据 Ajax 中从 asp net | 更新日期: 2023-09-27 17:56:14

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

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

您必须创建一个控制器操作:

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