之前用这个传递过商品信息,由于内容过多导致的url过长或内存不足会报错,一定要把没用的数据从js数组中删了!
php端接收前端传数组代码:$data = json_decode($data);
第一种location.href传递数组data
location.href = "1.php?data=" + escape(JSON.stringify(data));
第二种ajax传递数组data
// 声明js二维数组 每个数组都是四个值的一维数组
var data = new Array(); //先声明一维
for(var k=0;k<obj.length;k++){ //一维长度为i,i为变量,可以根据实际情况改变
data[k]=new Array(); //声明二维,每一个一维数组里面的一个元素都是一个数组;
for(var j=0;j<4;j++){ //一维数组里面每个元素数组可以包含的数量p,p也是一个变量;
data[k][j]=""; //这里将变量初始化,我这边统一初始化为空,后面在用所需的值覆盖里面的值
}
}
// 循环对象 对数组进行赋值
for (var i = obj.length - 1; i >= 0; i--) {
// 吧数据传给data
data[i][0]=1
data[i][1]=2
data[i][2]=3
data[i][3]=4
}
data = JSON.stringify(data)
$.ajax({
type: 'POST',
url: "{:url('Purchase/cart2')}",
data: {data:data},
traditional: true,
dataType: 'json',
success: function (msg) {
if (msg.code==0) {
//我这边需要吧多个商品通过ajax添加入库然后在跳转到下个页面,俩个地方都需要传递数组
location.href="{:url('Purchase/cart3')}?data="+escape(JSON.stringify(msg.data))
}else{
alert(msg.msg)
}
},
error:function(msg){
alert('错误,请刷新页面重试')
}
});