在网页之间传递大量数据
Posted
技术标签:
【中文标题】在网页之间传递大量数据【英文标题】:Passing large amounts of data between webpages 【发布时间】:2017-12-08 11:33:51 【问题描述】:我有一个页面,用户在其中输入了(可能)数千个字符串的列表,然后进入使用该列表的页面。我尝试仅使用查询参数将字符串传递到后一页,但根据another *** post 的说法,这将超过几个浏览器的 URL 长度限制,尽管当我测试它时它在 Chrome、Firefox 和 Safari 上运行良好。传递大量查询参数是否有任何替代方法?
注意:一种替代方法是切换到单页应用程序,但如果可能的话,我想避免这么复杂。
【问题讨论】:
是的,将数据添加到<input type="hidden">
字段并改为发布数据。另一种选择,使用 javascript localStorage
并读取第二页上的数据。
取决于服务器端代码是否使用该数据。对您目前正在使用它做什么了解不够
网站完全是静态的。
那么 localStorage/sessionStorage 或云存储服务将是最好的解决方案
也许您应该考虑分块传输数据。如果页面在用户输入 999 个字符串之后但在他们点击提交之前关闭会发生什么?
【参考方案1】:
URL 有一个非标准化的长度限制。这取决于您使用的浏览器和浏览器版本。总 URL 长度约为 2000 个字符,您可能是安全的。
如果您想避免这种情况,您应该创建一个没有限制的 POST 请求,而不是向其他页面发出 GET 请求。
另一种选择是使用 SPA,您实际上并没有通过 HTTP 发送任何内容,而是在内存中发送数据。
【讨论】:
【参考方案2】:将数据保存在本地存储或某些客户端数据库(如 indexedDB)中,然后在其他页面上检索。
【讨论】:
以上是关于在网页之间传递大量数据的主要内容,如果未能解决你的问题,请参考以下文章