将JSON数据发送到ASP.NET HTTP处理程序
我有一个ASP.NET 4.0 HTTP处理程序,它应该以json格式接收和发送数据。我使用jquery将序列化为字符串的json对象发送到处理程序。它正确地发送了请求,但我不知道如何从传递给处理程序的httpcontext中检索数据,以及如何对其进行反序列化。。。有人能帮我吗 更新1将JSON数据发送到ASP.NET HTTP处理程序,asp.net,json,http,httphandler,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
$.ajax({
type: "POST",
url: "myurl.ashx",
dataType: "json",
contentType: "application/json; charset=utf-8",
data: $.toJSON({
...
}),
success: function (response) {
...
}
});
您是否以POST或GET请求的形式从jquery发送数据?在Http处理程序中,您可以通过
HttpContext.Request
通过Forms
或QueryString
例如,stringjson=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);
string json=HttpContext.Current.Request.Forms[“json”];
var js=新的JavaScriptSerializer();
YourType obj=js.Deserialize(json);
我将数据作为POST请求发送。。。如果有帮助的话,我正在尝试通过bayeux协议实现一个非常简单的comet c#服务器。我不知道在这种情况下,是否最好以GET请求的形式发送数据,但无论如何,在请求中。表单集合中有0项如果您以POST的形式发送,则表单集合不应为空。您的jquery代码是什么样子的?这是一篇非常古老的文章,但我想我应该指出一个好的答案——表单集合应该是空的,您需要解析请求输入流;答案很可能是我不知道toJSON插件,但我知道数据需要一个键/值对对象,其中键是您将从表单集合请求的。所以我想问题是你知道,你的$ToSJON调用返回什么。