关于 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 ...
随机推荐
- 常用的几个vagrant命令
$ vagrant init # 初始化 $ vagrant up # 启动虚拟机$ vagrant halt # 关闭虚拟机$ vagrant reload ...
- bzoj4398: 福慧双修
正边权无向图,一条边两个方向权值不一定相同,求经过点1的最小简单环 简单环包含了点1的一条出边和一条入边,且这两条边不同,因此可以枚举这两条边的编号的二进制表示中哪一位不同,用最短路求此时的最优解,时 ...
- appium 点击物理按键
有时候我们遇到一些需要点击手机物理返回按键,或者home键等操作,总结如下: adb shell input keyevent 点击home键: adb shell input keyevent 3 ...
- CSS自定义滚动条样式
原文地址:http://www.qianduan.net/css-custom-scroll-bar-style/ 相信很多人都遇到过在设计中自定义滚动条样式的情景,之前我都是努力说服设计师接受浏览器 ...
- 虚幻4:2D游戏中实现二级或多级跳跃
转自:http://www.52vr.com/article-729-1.html 闲来无事,想做个二级跳跃或者多级跳跃的方法.. 如下所示.即可实现. 第一步:角色蓝图中.设置跳跃事件 第二部: ...
- java下载excel,excel从数据库获取数据
<!-- poi --> <dependency> <groupId>org.apache.poi</groupId> <artifactId&g ...
- Unity中进程间通信——使用异步Socket
开发Unity项目过程中,即时通信功能来完成服务器与客户端自定义的数据结构封装. 如果要序列化和数据封装参考:Unity3D之C#用Socket传数据包 蓝鸥3G封装的类 客户端脚本ClientScr ...
- concurrent.futures进线程池和协程
concurrent.futures 异步执行进程线程池的模块,一个抽象类,定义submit,map,shutdown方法 from concurrent.futures import Process ...
- 马哥Linux base学习笔记
介绍课程: 中级: 初级:系统基础 中级:系统管理.服务安全及服务管理.shell脚本 高级: MySQL数据库: Cache & storgae 集群: Cluster lb: 4la ...
- Android轮询器,RxJava Interval;
基于RxJava实现轮询器,配合Retrofit处理网络请求轮询很好用,其它的一些轮询也都可以使用像Bannre图之类的: implementation 'io.reactivex.rxjava2:r ...