我目前有一个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数据?我可以将其作为方法参数或任何其他可能被认为更好的方式检索吗?
由于
答案 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数据。然后,您所要做的就是访问请求变量集合并将值传递给解析方法。