关于 jquery+ajax向asp.net传递json的问题研究(呕心沥血、柳暗花明)
第一种方法:字典的方法
//质检不合格
$('#Button3').click(function () {
if (!confirm('确定质检不合格吗?'))
return; var obj = new Object();
obj.x1 = 123;
obj.y1 = "abc";
//var jsonText = $.toJSON(obj);
var jsonText = JSON.stringify(obj);
//这个时候,jsonText 传递到asp.net后,asp.net 收到字典对象,而不是字符串的json对象
//jsonText = "'" + jsonText + "'";
alert(jsonText); $.ajax({
type: "POST",
url: "Default3.aspx/ss",
data: "{'str':" + jsonText + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
alert(msg.d);
},
error: function (x, e) {
alert("The call to the server side failed. " + x.responseText);
}
}); return false; }); //这里是结束
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json; public partial class Default3 : System.Web.UI.Page
{ public class qhftest
{ public int my_x1 { get; set; }
public string my_y1 { get; set; } public qhftest(int x1, string y1)
{
this.my_x1 = x1;
this.my_y1 = y1;
} } protected void Page_Load(object sender, EventArgs e)
{ }
[System.Web.Services.WebMethod]
public static string ss(object str)
{ //qhftest ee = JsonConvert.DeserializeObject<qhftest>(str.ToString()); //return ee.my_x1.ToString()+"---"+ee.my_y1.ToString(); /*
* 先转为Dictionary对象,再转为json字符串,再转为一个具体的对象
*/
Dictionary<string, object> tmp = (Dictionary<string, object>)str; qhftest ee = JsonConvert.DeserializeObject<qhftest>(JsonConvert.SerializeObject(tmp, Formatting.Indented)); string s = ""; foreach (string key in tmp.Keys)
{
s +="----" +String.Format("Key = {0}", key);
} return tmp.ToString(); }
}
第二种方法:呕心沥血的方法
//质检不合格
$('#Button3').click(function () {
if (!confirm('确定质检不合格吗?'))
return; var obj = new Object();
obj.x1 = ;
obj.y1 = "abc";
//var jsonText = $.toJSON(obj);
var jsonText = JSON.stringify(obj);
jsonText = "'" + jsonText + "'";
/*
* 加了两边的单引号后,就变成字符串了,asp.net就非常容易转换
*/ $.ajax({
type: "POST",
url: "Default3.aspx/ss",
data: "{'str':" + jsonText + "}",
contentType: "application/json; charset=utf-8",
dataType: "json",
async: true,
cache: false,
success: function (msg) {
alert(msg.d);
},
error: function (x, e) {
alert("The call to the server side failed. " + x.responseText);
}
}); return false; }); //这里是结束
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Newtonsoft.Json; public partial class Default3 : System.Web.UI.Page
{ public class qhftest
{ public int my_x1 { get; set; }
public string my_y1 { get; set; } public qhftest(int x1, string y1)
{
this.my_x1 = x1;
this.my_y1 = y1;
} } protected void Page_Load(object sender, EventArgs e)
{ }
[System.Web.Services.WebMethod]
public static string ss(object str)
{ qhftest ee = JsonConvert.DeserializeObject<qhftest>(str.ToString()); return ee.my_x1.ToString()+"---"+ee.my_y1.ToString(); }
}
关于 jquery+ajax向asp.net传递json的问题研究(呕心沥血、柳暗花明)的更多相关文章
- JQuery ajax调用asp.net的webMethod
本文章转载:http://www.cnblogs.com/zengxiangzhan/archive/2011/01/16/1936938.html 在vs2010中,用JQuery ajax调用as ...
- JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案
JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案 最近在开发WSS RESTful服务的时候, 碰到了这些个纠 ...
- jquery.ajax的url中传递中文乱码问题的解决方法
jquery.ajax的url中传递中文乱码问题的解决方法 JQuery JQuery默认的contentType:application/x-www-form-urlencoded 这才是JQu ...
- [转]JQuery Ajax 在asp.net中使用总结
本文转自:http://www.cnblogs.com/acles/articles/2385648.html 自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些 ...
- JQuery Ajax 在asp.net中使用小结
自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些让人短时间内痛苦的问题.本文暂时总结一些在使用JQuery Ajax中应该注意的问题,如有不恰当或者不完善的地方 ...
- JQuery Ajax 在asp.net中使用总结
自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些让人短时间内痛苦的问题.本文暂时总结一些在使用JQuery Ajax中应该注意的问题,如有不恰当或者不完善的地方 ...
- 详解JQuery Ajax 在asp.net中使用总结
自从有了JQuery,Ajax的使用变的越来越方便了,但是使用中还是会或多或少的出现一些让人短时间内痛苦的问题.本文暂时总结一些在使用JQuery Ajax中应该注意的问题,如有不恰当或者不完善的地方 ...
- Jquery ajax与asp.net MVC前后端各种交互
1.Jquery通过ajaxSubmit提交表单 if (jQuery("#Edit_from").validate().form()) { jQuery("#Edit_ ...
- 【转】Jquery ajax与asp.net MVC前后端各种交互
本文转载自:https://www.cnblogs.com/fengyeqingxiang/p/11169218.html 1.Jquery通过ajaxSubmit提交表单 if (jQuery(&q ...
随机推荐
- 测试教程网.unittest教程.3. 实例: 测试弱密码
From: http://www.testclass.net/pyunit/test_example_1/ 背景 考虑这样一个测试弱密码的实例,这个我们在pytest相关教程中也有过描述. 我们需要判 ...
- 学习笔记之TensorFlow
TensorFlow https://www.tensorflow.org/ An open source machine learning framework for everyone Tensor ...
- chrome不好用
(也是写于很久很久以前) 因为工作的某些原因,我本来想换Google chrome作为默认浏览器,真正用它的时候,才发现它一点都不好用,首先它很多网站不支持或显示不完整,比如新浪邮箱,打开新浪邮箱只显 ...
- dos命令及github介绍
dos命令:(不区分大小写)(尽量不要用汉字) 1.打开终端的快捷方式: window+r 输入cmd 或点击 开始栏 输入cmd 2.终端的目录:c盘默认 user/administator: 想在 ...
- Linux下自制回收站
Linux下自制回收站 相信熟悉linux系统的人都知道rm的厉害,也大都听说过有rm造成的生产事故,本文将详细介绍如何在linux环境下制作回收站以避免数据误删除,如何恢复回收站中的数据,如何查看回 ...
- library之目录
组件之fragment: Android viewpager结合fragment的相关优化: 组件之webview: WebView的使用及实战(cookie同步和cookie清除); Android ...
- 这个技术的出现,可能会颠覆阿里云、AWS!
在大数据和人工智能的带动下,越来越多的大型公司开始争夺云服务市场这块香饽饽. AWS.阿里云.Azure,这些耳熟能详的云服务商依然牢牢占据着全球70%以上的市场,但是随着去年“区块链”这个领域的兴起 ...
- [UE4]认识CanvasPanelSlot,Construct Object From Class动态创建UI控件
Canvas Panel Slot是UserWidget的Canvas Panel组件容器内的组件特有的属性. 只有放置在Canvas Panel容器内才会有Canvas Panel Slot属性 可 ...
- Centos7下的systemctl命令与service和chkconfig
博主使用的操作系统是最新的CentOS 7,所以可能和网上一些老的博文有一定出入,那是因为版本更新的原因. 这里写图片描述1 service service命令用于对系统服务进行管理,比如启动(sta ...
- 让android程序根据重力感应旋转屏幕(支持4个方向旋转)
原文地址:http://blog.csdn.net/yixiaoqingyuz/article/details/6453798代码如下: ChangeOrientationHandler.java p ...