有没有办法使用Javascript函数来缩短URL
我有一个Javascript函数,它调用window.location.href 下面是代码的示例有没有办法使用Javascript函数来缩短URL,javascript,Javascript,我有一个Javascript函数,它调用window.location.href 下面是代码的示例 function xyz () { var URL = "https://www.web.com/getNode.jsp?param1=abc|def|ghi|......."; window.location.href = URL; } 这里param1可以接受任意数量的值。但问题是,如果URL变量的大小超过3000个字符,就会遇到如下异常 500内部服务器错误 但我的要求是将
function xyz () {
var URL = "https://www.web.com/getNode.jsp?param1=abc|def|ghi|.......";
window.location.href = URL;
}
这里param1可以接受任意数量的值。但问题是,如果URL变量的大小超过3000个字符,就会遇到如下异常
500内部服务器错误
但我的要求是将所有param1值传递给JSP,不管param1有多长
有没有办法解决这个问题
谁能帮忙吗
谢谢。您可以尝试将方法从“获取”更改为“发布”,并将所有参数数据添加到正文中。POST中的Body可以包含更多内容让我们总结一下事实: 您需要发送长度不限的URL引号:无论param1有多长,我都没有使用POST发送数据的选项 您的服务器配置为拒绝长度超过3000的URL。 唯一合乎逻辑的结论是:无论你如何尝试,它都不会起作用。除非你违反或放松规则 您可能想到的任何解决方案都将是变通办法,通常不会解决问题,但可能已经足够好了。在你的环境中,你是唯一知道什么是足够好的人 示例解决方案: 重新配置服务器以接受更长的URL 在cookie中传递实际数据,并仅将部分数据放入url中 使用websocket连接或附加XHR调用在重定向之前发送数据 请注意,所有这些解决方案都需要作弊,因为您声明的目标仍然不可能实现
顺便说一句:url缩短器不是一个解决方案-他们不会变魔术,他们只是将人们从一个短url重定向到一个长url。如果目标服务器拒绝更长的URL,它仍然不能工作。我会考虑使用另一端解密的字符串压缩器,但它可能不够,这是X/Y解决方案。有没有可能改用POST请求?这是因为GET请求的大小是有限的。要无限制地发送数据,请使用POST请求解决潜在问题:URL真的必须这么长,还是可以省略一些数据?也许是通过存储数据服务器端,而只是传递一个令牌。谢谢你的回答。我没有选择使用POST方法发送数据。您可以发送多个请求并合并它们吗?