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 自体ではないようです。むしろ、エンコードされた結果はエンコードされていない文字列よりも長く、上記の制限の 1 つに達するのに十分なようです。

于 2011-08-10T00:45:04.150 に答える