gpt4 book ai didi

javascript - backbone.js 单页应用程序中的 URL 太长(约 98'000 个字符)

转载 作者:行者123 更新时间:2023-11-28 20:35:17 25 4
gpt4 key购买 nike

我有一个 JavaScript 单页应用程序(使用backbone.js),其中应用程序的状态存储为 URL 参数的一部分。该网页有很多复选框。

因此,如果用户点击类似 http://my-app.org/project/#app/load?checkboxID[4053]=1&checkboxID[4054]=1&checkboxID[4055]=1&checkboxID[4056] 的 URL =1&checkboxID[4057]=1&checkboxID[4058]=1&checkboxID[4059]=1...继续下去,各种进一步的参数...

然后页面会自行配置(使用 Backbone.Router)并选中给定的复选框。请注意 URL 中的哈希 #app,这意味着参数由 JavaScript 应用程序处理。

现在的问题是应用程序现在的参数比我之前想象的要多得多。因此,在启用所有复选框的情况下,我得到的 URL 长度约为 98.000 个字符,而根据 this answer最多只能是2.000。哎呀:-(

您对处理这个问题有什么建议?我想也许有一种聪明的方法可以在 JavaScript 中“缩短”/“压缩”URL 字符串(例如 gzipping + base64 编码 URL 字符串),但即使这样也不能将 URL 缩短到足以低于 2000 个字符。

最佳答案

我认为通过 URL 传递应用程序的状态不是一个好的做法。您可以有一个正确的命名空间对象来存储状态。

var myApp = myApp || {};
myApp.state = myApp.state || {};

当你使用 URL 来携带状态时,只需填充这个对象并使用它即可。

PS:这个答案可能不会让您满意,因为您正在寻找类似压缩的东西,并且不想对代码进行太多更改。还是给你一个建议。

关于javascript - backbone.js 单页应用程序中的 URL 太长(约 98'000 个字符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15568321/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com