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

时间:2015-01-16 08:09:01

标签: javascript internet-explorer url

我从服务器获取一个包含大量数据的URL作为查询字符串

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

但是当我将网址传递给window.open时,获取的网址会被截断。在搜索了一段时间之后,我可以发现URL的最大限制是2,083 characters(IE),因此它传递了查询字符串的PART并截断了其余部分..

我怎样才能克服这个?

如果我需要提供更多详细信息,请与我们联系。

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

说到编程,您可以尝试自己缩短URL,对于给定的示例: Exact URL for your example, shorter by ~2000 characters. 其中x..y在服务器端被翻译为范围(x,y) - > 1,2,3,4,5 ... 100000表示x和y为1和100000

答案 2 :(得分:0)

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

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