ajax如何传送数组、JSON.parse和JSON.stringify区别

原创 2017年02月08日 23:03:56

【ajax如何传数组给php?有哪些办法?】
首先了解:
data有两种传参类型,一个对象(Object),而是字符串(String)。而对象类型必须是键值对的格式。
基于data只能传送两种类型的数据 (js是这样,jq会把数组转化成string),所以需要一定的方法把数组转化为json格式,如果手动的话是很不现实的,如果这个数组足够大,所以一定会有已经成型的方法实现了这个功能。
当时经过百度后,我认为靠谱的方法。

1.$.toJson(“要转换的数组”)
2.JSON.stringify("要转化的数组")。

现在我把被选中的多选框的value保存在一个数组checked_value[]中,想要把它传给php。(不是对象也不是字符串,是单纯的数组)
这里写图片描述

复制这个数组,接下来让它被转化成【键值对】的Json格式。
这里写图片描述

这里写图片描述

因为这个数组jsonstr本身是一个普通数组。
所以在写入ajax的data时,不能直接data:jsonstr,而是要写成data:{jr:jsonstr},
这里写图片描述

这样才是键值对。默认的键从0开始,值就是原来数组里那些value。
(当时不是太明白,各种测试修改得到的结果)

很啰嗦对不对?

之前写在空间里的时候估计也迷迷糊糊的,现在又重新查了资料又明白了一些。

说一下两个方法原本的用法。
1.JSON.parse(“要转换的数组”)
2.JSON.stringify(“要转化的数组”)。

首先,两个方法的用法是有差别的。
JSON.stringify是从一个对象中解析出字符串
JSON.parse是从一个字符串中解析出json(键值对)。
所以在使用的时候如果参数不对应,就不能正确转换。

具体用法:
JSON.parse:字符串->键值对
var str = ‘{“address”:”明水”,”phone”:”1237828”}’;
JSON.parse(str);

>
address: “明水”
phone: “1237828”

需要注意的是,单引号后花括号。双引号就麻烦了。貌似还要在花括号里面的双引号前面加\,否则算语法错误。


JSON.stringify:对象->字符串

var a = {a:1,b:2}

JSON.stringify(a)

>
“{“a”:1,”b”:2}”

贴一个很强大的解析。
http://www.jb51.net/article/29893.htm

用ajax传递json对象数组的方法

Jquery的.ajax()函数用以实现异步刷新非常方便。这里。针对jsp,servlet讲讲传递json对象数组的经验。...
  • u010793917
  • u010793917
  • 2015年08月10日 09:54
  • 8815

js数组使用JSON.stringify()和toString()的区别

var arr = [1,2,3,4];  console.log(arr.toString()); //  1,2,3,4  alert(JSON.stringify(arr));  cons...
  • yansong_8686
  • yansong_8686
  • 2015年09月07日 23:32
  • 14997

ajax返回的json数组处理方式

建立的数据库: CREATE TABLE `try_brand` (   `id` smallint(6) NOT NULL AUTO_INCREMENT,   `brand_name` varcha...
  • u010194859
  • u010194859
  • 2015年10月29日 10:11
  • 5037

JSON - 页面解析后台传的JSON

后台传JSON一般有两种格式:① 直接拼接传回;一般返回JSON字符串。out.print("{\"username\":\"yanshi02\",\"password\":\"123456\"}")...
  • J080624
  • J080624
  • 2017年02月10日 17:38
  • 4223

【JavaScript】jQuery+ajax传递json数组(局部响应处理)

首先Json对象定义格式:var json = {"key1" : "value1", "key2" : "value2"}; 而json数组定义格式:var json_array = [ ...
  • q6678188
  • q6678188
  • 2016年05月22日 21:44
  • 663

javascript 中的JSON.stringify - 将对象和数组转换为json格式(来源于网络)

JSON.stringify 函数 (JavaScript) 将 JavaScript 值转换为 JavaScript 对象表示法 (Json) 字符串。 ...
  • qq826060882
  • qq826060882
  • 2015年01月06日 13:41
  • 2559

JSON.stringify,定义数组前需 data=[]

alert("test"); var test={}; test.count=3; alert(test.count); test.data=[]; test.data[0]=1; tes...
  • chuanyu
  • chuanyu
  • 2015年08月03日 16:05
  • 1123

ajax中JSON.stringify()和JSON.parse()方法的使用

我们平时使用ajax向后台传递数据时,通常会传递json格式的数据(写在dataType中),当然这里还有其它格式,比如xml、html、script、text、 jsonp格式。 json类型的数据...
  • MOONCOM
  • MOONCOM
  • 2017年01月04日 18:58
  • 4951

ajax网络请求时候的data参数应该用JSON.stringify?

最近有点困惑,在进行ajax请求的时候,在填写data参数的时候,什么时候该用JSON.stringify,什么时候不用,直接上json对象? 我是后端开发的,有时候会看到前端传过来的数据不是我想的那...
  • vincent_ling
  • vincent_ling
  • 2015年11月09日 02:18
  • 2049

JSON.stringify()将JSON对象转换为字符串通过Ajax传入到后台处理

最近在做一个小小的功能模块,前台有很多的数据需要传入到后台,前台页面设计如下: 看起来不是很清楚,总之表单中的数据都要提交到后台进行处理,然后插入到数据库,而且是一起提交到后台的,实现的方法大致有两...
  • HarderXin
  • HarderXin
  • 2013年12月18日 16:24
  • 9615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ajax如何传送数组、JSON.parse和JSON.stringify区别
举报原因:
原因补充:

(最多只允许输入30个字)