json数据跨静态页面传递

如何有效将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数据?

阅读 6k
4 个回答

没事,不会太大的,你总不能传递好几兆吧。

付款页面是要和订单挂钩的啊。不然你知道这个是给谁了?

先传后台,后台再传前台。
也可以localStorage.

题主和我最近做的事好类似,我也最近做一个需要跨页面传递信息,也是页面间数据多的情况

我是用localStorage的,不然url太长了,至于先传后台再新页面请求数据,这会比较慢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题