Отправка данных JSON в ASP.NET HTTP Handler - PullRequest
2 голосов
/ 14 ноября 2010

У меня есть обработчик HTTP ASP.NET 4.0, который должен получать и отправлять данные в формате 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 Ответ

3 голосов
/ 14 ноября 2010

Отправляете ли вы данные из jquery в виде запроса POST или GET? В вашем Http Handler вы можете получить значения через HttpContext.Request через Forms или 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);
...