c#后台如何接受通过jQuery.ajax的post方式传递的json字符串,并解析保存到本地

baidu_37112795 2016-12-20 11:56:32
各位大神,我的代码如如下
$(function() {
$("#Submit").click(function () {
var jsonuserinfo = $('#form1').serializeObject();
alert(JSON.stringify(jsonuserinfo));

$.ajax({
type: "POST",
url: "Res_json.ashx",
dataType:"json,html",
contentType: "application/json;charset=utf-8",
data: JSON.stringify(jsonuserinfo),

success: function (data) {
var result = data.d;
alert("您好," + result);
},

error: function (err) {
alert("err:" + err);
}
});
});



我的c#后台应该如何写 ,来接收json数据,并保存呢
...全文
6779 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lgs_yaoji_zcd 2017-07-15
  • 打赏
  • 举报
回复

若context.Request.Form取不到值(其实我不会用),可以参考参考这个
  • 打赏
  • 举报
回复
context.Request.Form["PostData"]
wsh_mar 2016-12-21
  • 打赏
  • 举报
回复
context.Request.Form["PostData"]
  • 打赏
  • 举报
回复
这里要注意,请求类型是 json,不是 text --> 这里要注意,请求数据类型是 json,不是 text 访问 ashx 一般处理程序,是很干净的代码。直接使用 context.Request 来处理输入参数,使用 context.Response 来输出返回序列化对象,就行了。至于中间你要保存数据或者干嘛,并没有什么规定,随便你进行设计。
  • 打赏
  • 举报
回复
上面这个例子中,你在 getData.ashx 中应该用 context.Request.Form["PostData"] 接收其中一个参数,返回的是 json 格式的对象序列化内容,假设这个内容是 { "PostData长度": 100, "abcd": "923984823" } 在脚本中也可以读取返回对象的属性值。
  • 打赏
  • 举报
回复
例如对于
$.ajax({
    url: "getData.ashx",
    type: "Post",
    data: { PostData: JSON.stringify(jsonuserinfo) },
    datatype: "json",
    success: function (d) {
        document.getElementById("tt").innerText = d.PostData长度;
    }
});
你可以使用
context.Request.Form["PostData"]
获取值。 这里要注意,请求类型是 json,不是 text。 假设是 text,那么你应该使用 InputStream 来接收完整的消息体。
a798843484 2016-12-20
  • 打赏
  • 举报
回复
你需要在前台的ajax方法中写入你编写后台代码的路径,然后在指定路径编写你的方法 $(function() { $("#Submit").click(function () { var jsonuserinfo = $('#form1').serializeObject(); alert(JSON.stringify(jsonuserinfo)); $.ajax('xxxx(你的页面).aspx?op=xx(你传到后台的参数)',{ type: "POST", url: "Res_json.ashx", dataType:"json,html", contentType: "application/json;charset=utf-8", data: JSON.stringify(jsonuserinfo), success: function (data) { var result = data.d; alert("您好," + result); }, error: function (err) { alert("err:" + err); } }); }); 后台代码: protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["op"] != null) { string action = Request.QueryString["op"].ToString(); Response.Clear(); switch (action) { case "xx(前台页面的参数)": Response.Write(xxxx());//转到这个方法 Response.End(); break; default: break; } } } private string xxxx() //编写这个方法
混QWER 2016-12-20
  • 打赏
  • 举报
回复
难道不是 context.Request.Form["xxx"]
a798843484 2016-12-20
  • 打赏
  • 举报
回复
引用 7楼我是你的主体 的回复:
[quote=引用 2 楼 a798843484 的回复:] 你需要在前台的ajax方法中写入你编写后台代码的路径,然后在指定路径编写你的方法 $(function() { $("#Submit").click(function () { var jsonuserinfo = $('#form1').serializeObject(); alert(JSON.stringify(jsonuserinfo)); $.ajax('xxxx(你的页面).aspx?op=xx(你传到后台的参数)',{ type: "POST", url: "Res_json.ashx", dataType:"json,html", contentType: "application/json;charset=utf-8", data: JSON.stringify(jsonuserinfo), success: function (data) { var result = data.d; alert("您好," + result); }, error: function (err) { alert("err:" + err); } }); }); 后台代码: protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["op"] != null) { string action = Request.QueryString["op"].ToString(); Response.Clear(); switch (action) { case "xx(前台页面的参数)": Response.Write(xxxx());//转到这个方法 Response.End(); break; default: break; } } } private string xxxx() //编写这个方法
这种方式与"context.request.form["xx"]",有什么区别呢[/quote]区别不怎么清楚,不过我一直都是用一种方法
baidu_37112795 2016-12-20
  • 打赏
  • 举报
回复
引用 5 楼 sp1234 的回复:
这里要注意,请求类型是 json,不是 text --> 这里要注意,请求数据类型是 json,不是 text 访问 ashx 一般处理程序,是很干净的代码。直接使用 context.Request 来处理输入参数,使用 context.Response 来输出返回序列化对象,就行了。至于中间你要保存数据或者干嘛,并没有什么规定,随便你进行设计。
我写的是这样的,ajax的返回值如何写呢?是不是我写的string json就是最后的所要获取的json字符串呢? 后台Res_json.ashx里的: protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["op"] != null) { string action = Request.QueryString["op"].ToString(); Response.Clear(); switch (action) { case "xx(前台页面的参数)": Response.Write(xxxx());//转到这个方法 Response.End(); break; default: break; } } } 前台的: $("#Submit").click(function () { var jsonuserinfo = $('#form1').serializeObject(); alert(JSON.stringify(jsonuserinfo)); $.ajax({ type: "POST", url: "Res_json.ashx", dataType:"json", contentType: "application/json;charset=utf-8", data: {PostData:JSON.stringify(jsonuserinfo)}, success: function (d) { var result = data.d; alert("您好," + result); // document.getElementById("tt").innerText = d.PostData; }, error: function (err) { alert("err:" + err); } }); });
baidu_37112795 2016-12-20
  • 打赏
  • 举报
回复
引用 8 楼 qwertywhb 的回复:
[quote=引用 6 楼 baidu_37112795 的回复:] [quote=引用 1 楼 qwertywhb 的回复:] 难道不是 context.Request.Form["xxx"]
里面的具体代码是怎样的呀,能否详细一点呢[/quote] 你不是有这个Res_json.ashx页面吗 在 public void ProcessRequest (HttpContext context) 里面写。。 [/quote] 我写的是这样的,ajax的返回值如何写呢?是不是我写的string json就是最后的所要获取的json字符串呢? 后台Res_json.ashx里的: protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["op"] != null) { string action = Request.QueryString["op"].ToString(); Response.Clear(); switch (action) { case "xx(前台页面的参数)": Response.Write(xxxx());//转到这个方法 Response.End(); break; default: break; } } } 前台的: $("#Submit").click(function () { var jsonuserinfo = $('#form1').serializeObject(); alert(JSON.stringify(jsonuserinfo)); $.ajax({ type: "POST", url: "Res_json.ashx", dataType:"json", contentType: "application/json;charset=utf-8", data: {PostData:JSON.stringify(jsonuserinfo)}, success: function (d) { var result = data.d; alert("您好," + result); // document.getElementById("tt").innerText = d.PostData; }, error: function (err) { alert("err:" + err); } }); });
混QWER 2016-12-20
  • 打赏
  • 举报
回复
引用 6 楼 baidu_37112795 的回复:
[quote=引用 1 楼 qwertywhb 的回复:] 难道不是 context.Request.Form["xxx"]
里面的具体代码是怎样的呀,能否详细一点呢[/quote] 你不是有这个Res_json.ashx页面吗 在 public void ProcessRequest (HttpContext context) 里面写。。
baidu_37112795 2016-12-20
  • 打赏
  • 举报
回复
引用 2 楼 a798843484 的回复:
你需要在前台的ajax方法中写入你编写后台代码的路径,然后在指定路径编写你的方法 $(function() { $("#Submit").click(function () { var jsonuserinfo = $('#form1').serializeObject(); alert(JSON.stringify(jsonuserinfo)); $.ajax('xxxx(你的页面).aspx?op=xx(你传到后台的参数)',{ type: "POST", url: "Res_json.ashx", dataType:"json,html", contentType: "application/json;charset=utf-8", data: JSON.stringify(jsonuserinfo), success: function (data) { var result = data.d; alert("您好," + result); }, error: function (err) { alert("err:" + err); } }); }); 后台代码: protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["op"] != null) { string action = Request.QueryString["op"].ToString(); Response.Clear(); switch (action) { case "xx(前台页面的参数)": Response.Write(xxxx());//转到这个方法 Response.End(); break; default: break; } } } private string xxxx() //编写这个方法
这种方式与"context.request.form["xx"]",有什么区别呢
baidu_37112795 2016-12-20
  • 打赏
  • 举报
回复
引用 1 楼 qwertywhb 的回复:
难道不是 context.Request.Form["xxx"]
里面的具体代码是怎样的呀,能否详细一点呢
书名:jQuery权威指南(系统介绍jQuery方方面面,囊括118个实例和2个综合案例,实战性强) 作者:陶国荣 著 书号:978-7-111-32543-7 定价:59.00元 出版社:机械工业出版社华章公司 出版时间:2011年1月 编辑推荐: 内容全面,系统地讲解了jQuery方方面面 实战性强,囊括118个实例和2个综合案例 资深专家亲自执笔,4大专业社区一致鼎力推荐 内容简介: jQuery是继Prototype之后的又一个优秀JavaScript框架,深受全球开发者欢迎,已经成为Web开发领域的事实标准。jQuery以其轻巧的体积、强大的选择器、出色的DOM封装、丰富的插件支持使得广大的Web前端开发者得心应手,极大地提高了他们的开发效率;此外,jQuery中完善的Ajax功能、行为与结构层的分离、可靠的事件处理机制也同样使得Web后端开发者如虎添翼,使用少量代码就可以实现复杂的功能。特别是新版本1.4.x的发布,jQuery在功能和性能方面都有质的提升,极大地满足了广大开发者提出的更高要求。因此,为了提高Web开发的效率和强化Web应用的功能,熟练使用jQuery是Web开发者必备的一种能力。 《jQuery权威指南》由国内资深Web技术专家亲自执笔,4大Web开发社区一致鼎力推荐,权威性毋庸置疑。 内容新颖,基于jQuery的最新版本撰写,所有新功能和新特性一览无余;内容全面,不仅讲解了jQuery技术本身的方方面面,而且还包括与jQuery相关的扩展知识;实战性强,不仅每个知识点都配有完整的小案例,而且还有两个综合性的案例。本书不仅能满足读者系统学习理论知识的需求,还能满足需要充分实践的需求。 全书一共分为11章,首先以示例的方式jQuery做了全局性的介绍,以便于为读者建立jQuery的大局观,这对初学者尤为重要;其次详细讲解了jQuery的各种选择器、jQuery操作DOM的方法、jQuery中的事件与应用、jQuery中的动画和特效、AjaxjQuery中的应用,以及各种常用的jQuery插件的使用方法和技巧,所有这些知识点都配有完整的示例(包括需求分析、代码实现和结果展示三部分);再接着对jQuery UI和jQuery实用工具函数等扩展知识,以及jQuery的开发技巧与性能优化等方面的重要知识做了详尽的阐述;最后以两个具有代表性的综合案例结束全书,希望能帮助读者将前面所学的理论知识真正贯穿于实践中,迅速进入jQuery的殿堂。 作者简介: 陶国荣,资深Web技术专家,有10余年开发经验,是国内较早专业从事Web开发的一线技术人员和培训讲师。醉心于对JavaScript、jQueryAjax等Web开发技术的研究与实践,并长期专注于HTML页面的优化与用户体验的研究,在页面框架搭建、数据流向分析、页面静态优化方面拥有丰富的实践经验。此外,他还是微软技术方面的专家,精通C#、ASP.NET 和SQL Server等技术,出版相关著作多部。 媒体推荐: jQuery的发展之迅速和取得的成功之巨大是其他所有开发框架都难以企及的,它已经成为Web开发者必备的核心技能之一。如果你尚未掌握jQuery或功力还不够,推荐你认真阅读这本书并付诸实践,与同类的jQuery图书相比,它有3大优势:内容非常全面,几乎包含jQuery的所有内容;基于jQuery的最新版本撰写,所有新功能特性一览无余;实战性极强,不仅有118个小型案例,而且还有两个综合案例。——jQuery中文社区 jQuery因为使用简单、功能强大、插件丰富而深受Web开发者青睐。《jQuery权威指南》不仅完整地呈现了jQuery本身所有的功能,而且讲解了jQuery UI等扩展功能;更值得一提的是,还包括最佳实践和性能优化方面的技巧,内容全面,结构合理。除此之外,本书还包括大量的实例,不仅每个知识点都配有小例子,而且还有两个综合性的案例。对于初学者而言,本书应该是学习jQuery的首选。——jQuery中文用户组 jQuery因为易于使用和功能强大著称,是所有Web开发者应该掌握的一种利器,初学者如何才能快速而有效地掌握jQuery呢?最好的方法莫过于一边学习理论,一边动手实践这些理论,本书就是按照这种思路为读者打造的,强烈推荐。——JavaScript开发者社区 jQuery从众多的Ajax框架中脱颖而出,已经成为Web开发领域的事实标准。《jQuery权威指南》除了理论知识丰富而全面外,它还有一个最大的特点就是注重实战,每个知识点都有一个完整的案例,包括需求分析、代码实现和结果展示三个部分,而且还包含两个综合性的案例,它的实践性之强是目前所有同类书都不具备的,恰好这一点又是初学者最需要的。如果能阅读本书并付诸实践,进入jQu

110,565

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧