问题非常简单。什么是Request.InputStream
,什么时候使用它。它是否总是用于读取在post请求中发送的整个html body,还是仅用于其中发送的一些参数?为什么不应该通过将数据作为参数传递给Ajax请求来将数据发送到服务器端代码?
在这个例子中,我可以在data:
中传递参数,或者我可以在Request.InputStream
中读取参数。我应该在什么情况下使用哪一个呢?
例子:
在控制器中:
public ActionResult GetSomeData(string someData)
{
Request.InputStream.Position = 0;
System.IO.StreamReader str = new System.IO.StreamReader(Request.InputStream);
string sBuf = str.ReadToEnd();
return Json("something");
}
发起Ajax请求:
$.ajax({
type: "POST",
url: "Home/GetSomeData",
data: "{someData:'Hello'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg);
// Insert the returned HTML into the <div>.
$('#dvResult').html(msg);
}
});