1

たとえばsomething:8000/something.jsp?param1=update&param2=1000&param3=SearchString%&param4=3、自分の URL を渡すと、次のエラーが発生します。

Bad Request

Your browser sent a request that this server could not understand.

SearchString%パラメーターとして渡す必要があるものを知っていますが、問題があります。次に、URL に「%」を含むパラメーターを渡す方法は??

4

2 に答える 2

9

% の代わりに %25 を使用 URL の % にはエスケープ文字として特別な意味があります

(スペース) のような特殊文字は、%20 のようにエンコードできます (スペースの ASCII コード/16 進数の 32)

したがって、パーセント記号自体は、たまたま 25 である % の 16 進コードを使用してエンコードする必要があります。

http://www.asciitable.com/を使用して、hx 列の下にある適切な 16 進コードを検索できます。

または、これをプログラムで (つまり、javascript を使用して) 実行している場合は、次のescape()ような組み込み関数を使用できます。escape('%')

于 2012-09-12T04:31:58.560 に答える
6

これを参照してください: JavaScript で URL をエンコードしますか?

基本的に、渡す変数がエンコードされていることを確認する必要があります (「%」文字は URL エンコードの特殊文字です)。

%、?、& などの特殊文字はエンコードする必要があります。それらは「%」とその 16 進数でエンコードされます。したがって、'%' は '%25' になり、'&' は '%26' になります。

更新encodeURI/encodeURIComponentの代わりにエスケープを使用することになっているのはいつですか?エスケープの使用を避ける必要がある理由。

于 2012-09-12T04:33:33.880 に答える