使用gson从jsp向servlet发送请求

时间:2013-05-15 10:02:32

标签: java javascript jquery servlets gson

我正在使用 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

所以请让我知道可能是什么问题?

2 个答案:

答案 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}的引号。