IE : window.open url 超过 2,083 个字符



>我从服务器获取了一个网址,其中包含大量数据作为查询字符串

(例如 http://www.test.com/?n=1,2,3,4,5,6,7,8.....100000),我想使用 window.open() 打开它。

但是当我传递 URL 以window.open被截断的 url 时。搜索一段时间后,我可以弄清楚 URL 的最大限制是 2,083 个字符 (IE),因此它会传递查询字符串的一部分并截断其余部分。

我怎样才能克服这个问题?

如果我需要提供更多详细信息,请告诉我。

我认为唯一的解决方案是使用POST而不是GET。只需使用表单,而不是 window.open。请看这个较旧的答案:https://stackoverflow.com/a/17089124/907420

您可以尝试使用URL缩短器,例如 goo.gl 或 bit.ly:https://goo.gl/

说到编程,您可以尝试自己缩短URL-s,例如:示例的确切 URL,缩短 ~2000 个字符。其中 x..y 在服务器端转换为范围 (x, y) -> 1,2,3,4,5...100000,对于 x 和 y 为 1 和 100000

如果你想

坚持使用GET(我建议你使用POST),你可以尝试压缩参数。而不是给出大量的参数,你创建一个保存参数的javascript对象,jsonfy它,你最终得到一个字符串,可以在另一端再次压缩和解压缩。之后,您可以反序列化 JSON 字符串,并拥有参数。根据参数的数量,它可能仍然不足以满足GET请求。

但最后,我认为 POST 请求是最好的解决方案。

最新更新