我正在使用jQuery ajax命令,该命令具有以下数据:
$.ajax({
type:"POST",
...
data:"e=f_s&es="+JSON.stringify(email)+"&fr="+str
...
})
其中(电子邮件)可以包含特殊字符,例如,可以是字符串:
!#$%'&+-/=?^`*{|}~ch!#$%'/=?*^`{|}@mail.com
我允许使用此类字符的原因基于以下question.
问题是,在服务器(Java EE应用程序)上的某个时刻,它搞砸了。特殊字符未显示不同请求参数的边界。例如,它正在考虑:'/作为参数。
我想我需要逃脱角色吗? (如果是,如何?)
我应该怎么做才能将这样的字符串从javascript发送到java?
最佳答案
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"