js数组和对象的区别,ajax传入多个参数值,ajax传多个数组数据
数组分为索引数组和关联数组
js中先声明一个空数组
arr = []
索引数组
索引是整数,如arr[0] = 'a'
关联数组
索引是自定义的字符串,如arr['a'] = 'a'
js中的对象
你把它理解成关联数组就可以了
场景
自定义键值的时候使用
js中的数组
只支持索引数组
场景
需要传输多组数据
怎样在js中使用关联数组?
在js中的数组不支持关联数组arr['a'] = 'a'
如果想使用关联数组,可以用对象替换arr.a = 'a'
实践
使用ajax传多组数据
var goods = [];
for(i=1;i<=2;i++){
var goods2 = [];
goods2['goods_id'] = i;
goods.push(goods2);
}
console.log(goods);
$.ajax({
url:'/user/wangzhabo',
type:'post',
data:{
goods:goods
},
success:function(res){
// console.log(res);
}
});
上面的代码你执行会发现没有传数据,因为js不支持关联数组
修改后的代码
var goods = [];
for(i=1;i<=2;i++){
//下面是关联数组使用js对象
var goods2 = {};
goods2.goods_id = i;
//索引数组或多组数据使用js数组,goods是js数组
goods.push(goods2);
}
console.log(goods);
$.ajax({
url:'/user/wangzhaobo',
type:'post',
data:{
goods:goods
},
success:function(res){
// console.log(res);
}
});