我正在使用JSP,Servlet开发一个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。
所以请告诉我有什么问题吗?
发布于 2013-05-15 10:13:34
需要对% (以及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);
});
});发布于 2013-05-15 12:23:58
如果选择第一种方法,不要忘记var11属性{"var11":var11}而不是{var11:var11}的引号。
https://stackoverflow.com/questions/16562132
复制相似问题