0

这是我的第一个问题......我希望我的问题看起来并不愚蠢......

html(允许使用任何符号)---> javascript 事件 ---> javascript 函数使用 ajax 方法将文本发送到 .php 文件。这里有一个问题:

当我使用 xmlhttp.open("GET","proceed.php?q="+encodeURIComponent(str),false); 它适用于小文本(少于 1500 个符号)....

如果我使用 xmlhttp.open("GET","proceed.php?q="+str,false); 那么它适用于任何长度,但我必须小心特殊字符。

为什么 encodeURIComponent 不适用于大量文本(超过 ~1500 甚至只是简单的字母数字符号)?有任何想法吗?

所以,问题出在这个字符串中(我已经测试了所有其余部分)。

顺便说一句,它在保加利亚西里尔字母上进行了测试...

对于超过 1500 个符号的文本,根本没有任何操作(没有可见的错误,没有什么,只是没有任何反应)。

谢谢你。

4

1 回答 1

1

URL 的长度有许多限制。在 IE 中,包括 GET 查询字符串在内的 URL 总长度不得超过 2,083 个字符。服务器也可能会施加限制

因此,显然不是 encodeURIComponent 本身存在长字符串问题。相反,编码的结果比未编码的字符串长,这似乎足以让你达到我上面提到的限制之一。

于 2011-08-10T00:45:04.150 回答