.ashx获取post body
前台页面代码:
var json = [{ "Name": "Pavan Kumar Pabothu", "Age": 27, "ID": 361621 }, { "Name": "Reddaiah Raju Padhmaraju", "Age": 27, "ID": 362541 }, { "Name": "Denish Raju Padhmaraju", "Age": 26, "ID": 368941 }];
$.ajax({
type: "POST",
// url: "CommonFiles.aspx/DeleteFiles",
url: "../data/AjaxTest.ashx",
//data: "{Id:'" + deleteid + "'}",
data: { 'myjson': json },
contentType: "application/json; charset=utf-8",
dataType: 'json',
success: function (data) {
var result = data.d;
if (result == "error")//失败
{
}
loadFileSort(id);
}
});
Ashx 代码:
StringBuilder rsb = new StringBuilder();
var mRequest = context.Request;
int bytelengg=(int)mRequest.InputStream.Length;
using (var reader = new StreamReader(mRequest.InputStream,Encoding.UTF8))
{
var read = new Char[bytelengg];
var count = reader.Read(read, 0, bytelengg);
while (count > 0)
{
var str = new string(read, 0, count);
rsb.Append(str);
count = reader.Read(read, 0, bytelengg);
}
reader.Close();
reader.Dispose();
mRequest.InputStream.Close();
mRequest.InputStream.Dispose();
}
然后通过反序列字符串转换成对
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//context.Response.Write(context.Request.Form["param2"]);
HttpRequest request = context.Request;
Stream stream = request.InputStream;
string json = string.Empty;
string responseJson = string.Empty;
if (stream.Length != 0)
{
StreamReader streamReader = new StreamReader(stream);
json = streamReader.ReadToEnd();
context.Response.Write(json);
}
context.Response.Write("没有获取到json");
}
参数方式:
context.Response.ContentType = "text/plain";
if (context.Request.QueryString["My"] != null)
{
context.Response.Write("参数:"+ context.Request.QueryString["My"]);
}
else
{
context.Response.Write("没有参数!Hello World");
}
专业从事基于C#,WinForm ,WPF,Silverlight,WCF以及MS Sql Server 2000/2005/2008/2012 Oracle 9i/10g/11g数据库系统的ERP,CRM,企业进销存等各种数据库管理系统开发。Asp.net,Asp.net mvc,Webservice,WCF, Webapi等服务程序开发。
基于Oracle MySQL MSSql postgresql各种数据库的管理系统数据同步服务。以及基于MapXtreme, Arcgis Engine ,以及基于Arcgis for silverlight/Javascript的WebGIS等相关的GIS系统二次开发。基于Windows 10 Mobile的移动端开发方案。针对各种系统的二次开发维护,并提供相关开发的技术性支持,如程序BUG解决,应用系统架构,技术难题攻克等相关技术服务。
联系方式: QQ :80163278(devgis) 邮箱:devgis@qq.com