可以添加到ajax的url的参数长度是否有限制?我在Ruby上使用Thin服务器,并以这种格式从Web浏览器发出ajax请求:
io=new XMLHttpRequest();
io.open("GET","http://localhost:3000&v="+encodeURIComponent(JSON.stringify(v)),true);
当字符串v
的长度超过大约7000字节时,它似乎崩溃了。当更少时,似乎工作。我的观察是对的吗?限制来自哪里?从Thin,Javascript还是浏览器?我使用谷歌Chrome浏览器。
答案 0 :(得分:8)
可以添加到ajax的URL的参数长度是否有限制?
是的,如果您使用的是GET请求,则会有一个限制,具体取决于客户端浏览器。而这个限制与AJAX无关。对于IE,IIRC大概是4K,但事情可能已经发生了变化。但无论如何都有一个限制。如果您不想受限制,则应使用POST。
答案 1 :(得分:1)
限制最有可能来自浏览器。根据{{3}},您应该尝试将网址保持在大约2000个字符之下。
答案 2 :(得分:-3)
GET请求有一个限制,具体取决于字符字节。 如果您使用ASCII,则为256个字符,包括网址。对于UTF-8,它实际上只有一半,因为1个字符的长度是2字节。
虽然你不会在POST上遇到这个问题。