[英]pass multidimensional javascript array to another page
我有一个多维数组,就像这样
(我希望这是有道理的)
其中[1]和[4]本身就是我可以像myArray [4] [5]那样访问INFO的数组。
嵌套数组的长度([1]和[4])可以是varry。
我使用这种方法在一个非常复杂的表单中存储,计算和分发数据。
并非所有在数组中存储的数据都会使其成为输入字段,因此在调用表单的post方法时,并非所有数据都会发送到下一页。
我想在下一页上以与第一页相同的方式访问数组。
思考:
方法1:
我想我可以将所有数据加载到隐藏字段中,发布所有内容,然后在第二页上获取这些值并将它们全部加载回数组,但这需要超过一百个隐藏字段。
方法2:
我想我也可以使用.join()将整个数组连接成一个字符串,将其加载到一个输入中,发布它,并使用.split(“,”)来重新打破它。 但是,如果我这样做,我不知道如何处理它的多维度,以便我仍然可以像第2页上的myArray [4] [5]那样访问INFO。
我将使用Javascript访问arrary,将在第2页上使用php访问第1页上的输入值。
我的问题是有更好的方法来完成我需要的东西, 或者我如何设置上面提到的方法2?
这解决了我的问题:
var str = JSON.stringify(fullInfoArray);
sessionStorage.fullInfoArray = str;
var newArr = JSON.parse(sessionStorage.fullInfoArray);
alert(newArr[0][2][1]);
如果可能,您可以使用sessionStorage
使用JSON.stringify()
存储对象的字符串表示形式:
// store value
sessionStorage.setItem('myvalue', JSON.stringify(myObject));
// retrieve value
var myObject = JSON.parse(sessionStorage.getItem('myvalue'));
请注意, sessionStorage
有一个可以存储多少的上限; 我相信它大概是2.5MB,所以你不应该轻易打它。
将数据保存在PHP会话中,每当提交表单时,都会更新会话中的数据。 您生成的每个页面都可以使用此数据生成。
要么
如果您使用的是现代浏览器,请使用HTML5 localStorage。
要么
你可以继续你正在做的事情:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.