如何在url中传递特殊字符作为查询字符串

How to pass special characters as query string in url

本文关键字:特殊字符 查询 字符串 url      更新时间:2023-09-26

我试图在url中传递特殊字符作为查询字符串作为GET请求的一部分。我正在javascript函数中构造该字符串。

var queryString = "list=ABC-48+12&level=first";

然后我将字符串附加到url作为请求的一部分,该请求转到struts动作类。在动作类中,我得到的"列表"值为"ABC-48 12",没有传递"+"字符。如何在字符串中传递特殊字符作为url的一部分,并在java类中返回?

请告诉我。

谢谢。

您应该使用encodeURIComponent函数对其进行url编码:

var queryString = 
    "list=" + encodeURIComponent("ABC-48+12") + 
    "&level=" + encodeURIComponent("first");

这个函数将负责正确编码你的查询字符串参数值:

list=ABC-48%2B12&level=first 

您需要使用将全局选项设置为第一个参数的正则表达式,而不是字符串:(在正则表达式中"+"是一个特殊字符,因此我们必须用反斜杠转义)

safeQueryString = safeQueryString。替换(/+/g, ' % 2 b ');