1

私は非常に単純な問題を抱えています

次のように 1 つの GET リクエストを作成しています。パラメータは次のとおりです。

para1=abc+xyz

ここで「+」記号に注意してください。これをURLエンコードすると、para1=abc%2Bxyz. 大丈夫です!

サーブレット側では、次のようなコードがあります

String para1 = request.getParameter("para1")

の内容para1abc xyz(スペースに注意してください)。

そうではないabc+xyzでしょうか?めちゃくちゃな値ではなく、ソースから送信されたとおりの値が必要です。

4

3 に答える 3

2

+の後にスペースとしてデコードされますurl decoding。を渡したい場合は+、エンコードする必要があります。

ジャワ

 String ecodedValue = URLEncoder.encode("abc+xyz", "UTF-8");
 String decodedValue = URLDecoder.decode(ecodedValue, "UTF-8");

アヤックス

var encoded = encodeURIComponent(str);

Javascript

var uri = "my test.asp?name=ståle&car=saab";
var res = encodeURI(uri);

また

var res = encodeURIComponent(uri);
于 2015-10-06T08:12:29.953 に答える