Ajax字符串长度限制

Ajax string length limit?

本文关键字:长度限制 字符串 Ajax      更新时间:2023-09-26

对于ajax,可以添加到url的参数的长度有限制吗?我在Ruby上使用瘦服务器,并以以下格式从web浏览器发出ajax请求:

io=new XMLHttpRequest();
io.open("GET","http://localhost:3000&v="+encodeURIComponent(JSON.stringify(v)),true);

当字符串v的长度超过大约7000字节时,它似乎崩溃了。少的时候,它似乎起作用。我的观察正确吗?限制来自哪里?从Thin、Javascript还是浏览器?我使用谷歌Chrome浏览器。

对于ajax,可以添加到url的参数的长度有限制吗?

是的,如果您使用的是GET请求,则会有一个限制,这将取决于客户端浏览器。这个限制与AJAX无关。IIRC IE大约是4K,但情况可能已经改变了。但无论如何都有一个限度。如果你不想被限制,你应该使用POST。

限制很可能来自浏览器。根据这个讨论,你应该尽量将你的网址控制在2000个字符以下。

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

不过,您在POST上不会有这个问题。