1
fe619742721 2018-12-04 12:34:26 +08:00 via iPhone 1
|
2
fe619742721 2018-12-04 12:36:15 +08:00 via iPhone
哈哈,这是之前一个朋友讨论不安全跨域方式的时候提到的,奇技淫巧,安全性很差
|
3
loading 2018-12-04 12:36:15 +08:00 via Android
想了好几个,几乎都要用到 js,我看你这提问的描述,我还是不回答了。
等你写清楚,还有你水平如何再回答吧。 |
4
GDC 2018-12-04 12:41:21 +08:00 via iPhone 2
你要兼容到多老的浏览器?阿里云的购物车页面把整个商品信息 get 请求到下一个页面,255 的限制是很老的浏览器了
|
5
Tetsuchou 2018-12-04 12:56:36 +08:00 via iPhone
压缩一下?
|
6
qgy18 2018-12-04 13:02:12 +08:00 via iPhone
最古老的 IE 允许的 URL 长度难道不是 2083 字节么?
|
9
loading 2018-12-04 13:06:32 +08:00 via Android 1
简单就是用 js,然后跳 receive.html#aaaaaa
如果长度不够,能利用第三方短链接服务。 新浏览器长度已经不是 255 了。 |
10
nikoo OP @fe619742721 测试可行,,,这个操作真的非常秀!用在生产环境会有什么毛病吗?
|
12
wuhaoworld 2018-12-04 13:11:56 +08:00 1
|
13
GDC 2018-12-04 13:30:45 +08:00 via iPhone 1
@nikoo
用 hash 并不会把 # 后面的内容传给后端,而且 js 并没有原生获取 get 参数的方法,只能对整个 url 做解析。 总的来说你这个情况,最简单的方法就是把要传给的内容放在一个 json 对象中,转成字符串,再 base64 解决一下字符问题,然后一起放在 # 后面给下一个页面。 |
14
GDC 2018-12-04 13:38:33 +08:00 1
@nikoo 或者如果你只有一个参数要传递、而且只是文字内容,就直接用 btoa() 函数套个 base64 传给下一页。后面的页面用 window.location.hash 就能读取到 # 后面的内容,用 atob() 解析一下 base64 就好啦
|
15
DOLLOR 2018-12-04 15:47:05 +08:00
sessionStorage
localStorage cookie |
16
DOLLOR 2018-12-04 15:50:34 +08:00 via Android
没看清楚,要跨域的话,可能要用 HASH 更好了。
|