La domanda è davvero semplice. Che cos'è Request.InputStream
e quando usarlo. Viene sempre utilizzato per leggere l'intero corpo html inviato nella richiesta o solo alcuni parametri inviati in esso? Perché non dovrei inviare dati come parametro al mio codice lato server passandolo nella richiesta Ajax?Cos'è Request.InputStream e quando usarlo?
Nell'esempio è possibile passare il parametro nello data:
oppure è possibile leggere il parametro nello Request.InputStream
. Quando dovrei usare quale?
Esempio:
In regolatore:
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 Richiesta:
$.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);
}
});