我从服务器获取一个包含大量数据的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并截断了其余部分..
我怎样才能克服这个?
如果我需要提供更多详细信息,请与我们联系。
答案 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请求是我认为最好的解决方案。