关于ajax传递二维数组的一些测试和验证

10 篇文章 0 订阅

var data = [];

             $('.choose_Tab tbody .active').each(function(i){

                 var tmp = {};

                 tmp['proid'] = $(this).attr('data-id');

                 tmp['num'] = $(this).attr('data-id');

                 data.push(tmp);

             })

             $.ajax({

                 url: "/index.php/index/products/addshopping",

                 type: 'post',

                 data: {'data':data},

//               traditional: true,//防止深度序列化

                 success: function (re) {

                    if (re.code === 1) {

                        setTimeout(function () {

                            location.href = info.url;

                        }, 1000);

                    }

                 $(".mbmbmbmb .contactsss span").text("已加入购物车!");

                 $(".mbmbmbmb").fadeIn();

                 }

             })

以上是ajax正常发送数据制作;

其他方法:

1 traditional :true   将ajax的参数traditional设置为true,那么可以将数组转为一个格式字符串,不过这个还需要到后台进行字符串解析。这个方法测试了 必须要把data = JSON.stringify(data) 依然是需要转为json ,而且还是需要设置 var tmp = {},并没简化过程;

2 将js object(或array)转为json :JSON.stringify(data) 在var tmp =[]本质为数组的情况下,发送时有数据,后台接受依然为null,

所以设置 var tmp = {}是唯一的办法

查阅资料可知:

数组表示有序数据的集合,而对象表示无序数据的集合。如果数据的顺序很重要,就用数组,否则就用对象。

当然,数组和对象的另一个区别是,数组的数据没有”名称”(name),对象的数据有”名称”(name)。

但是问题是,很多编程语言中,都有一种叫做”关联数组”(associative array)的东西。这种数组中的数据是有名称的。

• 但是在《javascript DOM》中,不推荐我们使用 关联数组;因为在本质上你创建的关联数组的性质就是Array对象的属性

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值