在ASP.NET中读取使用JQuery AJAX发布的JSON数据的推荐方法是什么?

时间:2010-06-30 07:55:24

标签: asp.net ajax json jquery

我目前有一个JQuery Ajax方法,如下所示;

$.ajax({
 type:"POST",
 url: "default.aspx/UpdateData",
 data: jsonString,
 contentType: "application/json; charset=utf-8",
 dataType: "json",
 success: function(msg){
  alert('saved');
 }
});

在我正在使用的ASP.NET UpdateData方法中;

System.IO.StreamReader sr = new  System.IO.StreamReader(Request.InputStream);
string line = sr.ReadToEnd();

然后我将使用DataContractJsonSerializer序列化此数据。

使用 Request.InputStream 以正确的方式读取JSON数据?我可以将其作为方法参数或任何其他可能被认为更好的方式检索吗?

由于

2 个答案:

答案 0 :(得分:1)

您可以检索作为方法参数发布的数据:

JS:

$.ajax({
    url: "default.aspx/UpdateData"
    data: '{ testString: "test", testInt: 123 }',
    ...
});

的Default.aspx:

[WebMethod]
public static void UpdateData(string testString, int testInt)
{
    ...
}

我肯定会推荐这种方法,而不是解析发布的JSON。您可以在此处获得更完整的示例:jQuery and ASP.NET AJAX PageMethods(请参阅第二个示例)

答案 1 :(得分:0)

您应该在POST变量中发送JSON数据。然后,您所要做的就是访问请求变量集合并将值传递给解析方法。