如何有效将json数据从一个静态页面传递到另一个静态页面?
前阵子在某一个项目里遇到这一个问题,目前采用下面的方法:
(1)发送页面:将json格式数据转换为json字符串,url编码一次,base64编码一次,最后在地址带上处理后的数据跳向接收页面;
(2)接收页面:拿到地址切割出处理后的数据,base64解码,url解码,转换为json格式。
基本的代码如下:
(1)发送页面
var data = { 'name': 'terry_chan', 'property': [] };var a = json5.stringify(data); //(需要引入json5库)var b = encodeURIComponent(a); // 先进行url编码,将中文字符转码var c = base64.encode(b); // 再进行base64编码(需要引入base64库)window.location.href = '/target.html?' + c;
(2)接收页面
var sec = location.href.split('?')[1];var a = base64.decode(sec);var b = decodeURIComponent(a);var c = json5.parse(b); //得到原json数据
这种方式目前没有遇到大的问题,因为传递的数据不大,但是担心以后传递的数据会变得很大。
求解,有没有更好的方法在静态页面传递json数据?
蓝山帝景
相关分类