2

次のデータを持つjQueryajaxコマンドを使用しています。

$.ajax({
type:"POST",
 ...
 data:"e=f_s&es="+JSON.stringify(email)+"&fr="+str
 ...
})

ここで、(email)には特殊文字を含めることができます。たとえば、文字列にすることができます。

!#$%'&+-/=?^`*{|}~ch!#$%'/=?*^`{|}@mail.com

私がそのような文字を許可する理由は、次の 質問に基づいています。

問題は、サーバー(Java EEアプリケーション)のある時点で、混乱していることです。特殊文字は、さまざまな要求パラメーターの境界を示していません。たとえば、次のことを検討しています。

'/

パラメータとして。
文字をエスケープする必要があると思いますか?(はいの場合、どのように?)

このような文字列をjavascriptからjavaに送信できるようにするにはどうすればよいですか?

4

1 に答える 1

3

使用encodeURIComponent

encodeURIComponent("!#$%'&+-/=?^`*{|}~ch!#$%'/=?*^`{|}@mail.com")

戻る:

"!%23%24%25'%26%2B-%2F%3D%3F%5E%60*%7B%7C%7D~ch!%23%24%25'%2F%3D%3F*%5E%60%7B%7C%7D%40mail.com"
于 2012-08-14T19:33:25.413 に答える