Java 使用gson从jsp向servlet发送请求
我正在使用JSP、servlet开发一个web应用程序。我使用Java 使用gson从jsp向servlet发送请求,java,javascript,jquery,servlets,gson,Java,Javascript,Jquery,Servlets,Gson,我正在使用JSP、servlet开发一个web应用程序。我使用gson从jqGrid向Servlet发送请求 以下是我向Servlet发送请求的代码: JSP $.post('MyServletName?action=Activate&var11='+var11, function(responseJson) { $.each(responseJson, function(index, item) { alert
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
因此,请告诉我可能有什么问题?需要对%
(以及URL中的其他特殊字符)进行编码。如果您使用jQuery.post()
函数的(可选)data
参数,这将为您处理。因此,将其更改为:
$.post('MyServletName?action=Activate', {var11 : var11}, function (responseJson) {
$.each(responseJson, function (index, item) {
alert(item);
});
});
您也可以使用该函数,如下所示:
$.post('MyServletName?action=Activate&var11=' + encodeURIComponent(var11), function (responseJson) {
$.each(responseJson, function (index, item) {
alert(item);
});
});
如果选择第一种方法,请不要忘记var11属性
{“var11”:var11}
的引号,而不是{var11:var11}