我正在使用 JSP , Servlets 开发Web应用程序。我正在使用gson
将请求从 jqGrid 发送到 Servlet 。
以下是我向Servlet发送请求的代码:
JSP
$.post('MyServletName?action=Activate&var11='+var11,
function(responseJson)
{
$.each(responseJson, function(index, item)
{
alert(item);
});
});
Servlet代码
String str= request.getParameter("var11");
我可以使用上面的代码将请求发送到 Servlet 。但如果var11
包含%
,则它不会将%
符号和%
之后的所有字符发送到 Servlet 。
所以请让我知道可能是什么问题?
答案 0 :(得分:0)
需要对%
(以及URL中的其他特殊字符)进行编码。如果您使用data
函数的(可选)jQuery.post()
参数,则会为您处理。所以改成它:
$.post('MyServletName?action=Activate', {var11 : var11}, function (responseJson) {
$.each(responseJson, function (index, item) {
alert(item);
});
});
您也可以使用encodeURIComponent
功能,如下所示:
$.post('MyServletName?action=Activate&var11=' + encodeURIComponent(var11), function (responseJson) {
$.each(responseJson, function (index, item) {
alert(item);
});
});
答案 1 :(得分:0)
如果您选择第一种方法,请不要忘记var11属性{"var11":var11}
而不是{var11:var11}
的引号。