Ajax字符串长度限制?

时间:2012-03-23 15:11:46

标签: javascript ajax

可以添加到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浏览器。

3 个答案:

答案 0 :(得分:8)

  

可以添加到ajax的URL的参数长度是否有限制?

是的,如果您使用的是GET请求,则会有一个限制,具体取决于客户端浏览器。而这个限制与AJAX无关。对于IE,IIRC大概是4K,但事情可能已经发生了变化。但无论如何都有一个限制。如果您不想受限制,则应使用POST。

答案 1 :(得分:1)

限制最有可能来自浏览器。根据{{​​3}},您应该尝试将网址保持在大约2000个字符之下。

答案 2 :(得分:-3)

GET请求有一个限制,具体取决于字符字节。 如果您使用ASCII,则为256个字符,包括网址。对于UTF-8,它实际上只有一半,因为1个字符的长度是2字节。

虽然你不会在POST上遇到这个问题。