在开发的过程中,如果对于少量参数的前后台传递,可以直接采用ajax的data函数,按json格式传递,后台Request即可,但有的时候,需要传递多个参数,这样后台

接受的时候Request多个很麻烦,此时要按照类的格式 或 集合的形式进行传递。

1、传递单一对象Json

  例如:前台按类的格式传递JSON对象:

  var jsonUser = "{\"UserName\":\"" + userName  + "\",\"Sex\":\"" + sex + "\",\"City\":\"" + city + "\",\"Age\":\"" + age+ "\"}";

  如拼出的 jsonUser 无转义符号,需要 var jsonArrayFinal = JSON.stringify(jsonArray); 进行转换后再传递。

$.ajax(
  {
    type: "post",
    url: "UserHandler.ashx",
    data: { userInfo: jsonUser, flag: "1", key: "1" },
    dataType: "text",
    success: function(data) {
      $("#divMsg").html(data);
    }
});

2、传递集合类型Json

  如果前台传递多个类格式的 JSON 数组,也就是集合类型,如下:

  [{"name":"a"},{"name","b"},{"name","c"}]

  此时必须使用 JSON.stringify 将数组对象转换成字符串,再进行AJAX传递即可。

  比如我有两个变量,我要将a转换成字符串,将b转换成JSON对象:

  var a={"name":"tom","sex":"男","age":"24"};
  var b='{"name":"Mike","sex":"女","age":"29"}';

  在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的 stringify() 和 parse() 方法。

  JSON.stringify(obj)  将JSON转为字符串,JSON.parse(string) 将字符串转为JSON格式;

  上面的转换可以这么写:

var a={"name":"tom","sex":"男","age":"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSON.stringify(a);
var bToObj=JSON.parse(b);
alert(typeof(aToStr)); //string
alert(typeof(bToObj));//object

  ie8(兼容模式)、ie7和ie6没有JSON对象,不过http://www.json.org/js.html提供了一个json.js,这样ie8(兼容模式)、ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;可以在 https://github.com/douglascrockford/JSON-js上获取到这个js,一般现在用json2.js。

  ie8(兼容模式)、ie7、ie6可以使用 eval() 将字符串转为JSON对象,

var c='{"name":"Mike","sex":"女","age":"29"}';
var cToObj=eval("("+c+")");
alert(typeof(cToObj));

  jQuery中也有将字符串转为JSON格式的方法 jQuery.parseJSON( json ),接受一个标准格式的 JSON 字符串,并返回解析后的 JavaScript (JSON)对象。当然如果有兴趣可以自己封装一个jQuery扩展,jQuery.stringifyJSON(obj) 将JSON转为字符串。

最新文章

  1. mysql查看表使用的数据库引擎
  2. virtual关键字的本质是什么?
  3. sqlserver内存释放心得
  4. 电脑远程工具:mstsc
  5. Excel导入数据(97--2003版本)的ExcelHelper
  6. Xhprof安装笔记(PHP性能监控)
  7. ???????????? no permissions
  8. [BZOJ 4033] [HAOI2015] T1 【树形DP】
  9. Blast使用详解
  10. 1-SDK开发初探-8266
  11. 初入ubuntu
  12. iOS开发常用第三方库
  13. IOC之Unity的使用详解
  14. spark2.2.1安装、pycharm连接spark配置
  15. Git官方推荐用书
  16. Python学习(十二) —— 面向对象
  17. cocos2d-x JS 加载播放Studio帧动画的两种方法
  18. C# 敏捷1
  19. MySQL数据类型以及基本使用详解
  20. 我是IT小小鸟读书笔记

热门文章

  1. iOS 使用宏 常量 报错 expected expression
  2. JasperReports+iReport在eclipse中的使用(转)
  3. WordPress主题开发实例:根据不同分类使用不同模板
  4. [Android Security] 如何把java代码转换成smali代码
  5. 利用js实现 禁用浏览器后退 浏览器返回
  6. PHP一句话木马研究
  7. go语言之进阶篇借助bufio实现按行读取内容
  8. ubuntu18.04+ cuda9.0+opencv3.1+caffe-ssd安装
  9. 如何将frm格式MYD格式MYI格式文件导入MySQL中
  10. 由易信界面——谈谈fragment 状态的保存