将JSON数据发送到ASP.NET HTTP Handler

时间:2010-11-14 12:48:22

标签: asp.net json http httphandler

我有一个ASP.NET 4.0 HTTP处理程序,它应该以json格式接收和发送数据。我正在使用jquery将序列化的json对象发送到处理程序。它正确发送请求但我不知道如何从传递给处理程序的httpcontext中检索数据以及我如何反序列化...有人可以帮助我吗?

更新1

$.ajax({
    type: "POST",
    url: "myurl.ashx",
    dataType: "json",
    contentType: "application/json; charset=utf-8",
    data: $.toJSON({
        ...
    }),
    success: function (response) {
        ...
    }
});

1 个答案:

答案 0 :(得分:3)

您是否将来自jquery的数据作为POST或GET请求发送?在您的Http处理程序中,您可以通过HttpContext.RequestForms

通过QueryString检索值

即。 string json = HttpContext.Current.Request.Forms["json"];

要反序列化,您可以使用内置的System.Web.Script.Serialization.JavaScriptSerializer类,如此

string json = HttpContext.Current.Request.Forms["json"];
var js = new JavaScriptSerializer();
YourType obj = js.Deserialize<YourType>(json);