我试图在url中将特殊字符作为查询字符串传递,作为GET请求的一部分。我在javascript函数中构造该字符串。
var queryString = "list=ABC-48+12&level=first";
然后我将字符串附加到url作为请求的一部分,该请求转到struts动作类。在动作类中,我将“list”值设为"ABC-48 12"
,不传递"+"
个字符。
如何在字符串中传递特殊字符作为url的一部分并返回java类?
请告诉我。
感谢。
答案 0 :(得分:11)
您应该使用encodeURIComponent
函数对其进行网址编码:
var queryString =
"list=" + encodeURIComponent("ABC-48+12") +
"&level=" + encodeURIComponent("first");
此函数将负责正确编码查询字符串参数值:
list=ABC-48%2B12&level=first
答案 1 :(得分:-2)
你需要使用一个正则表达式,将全局选项设置为第一个参数而不是字符串:(在正则表达式中,“+”是一个特殊字符,因此我们必须用反斜杠转义它。)
safeQueryString = safeQueryString.replace(/ + / g,'%2B');