0

我正在使用JSPServlets开发一个 Web 应用程序。我用于从jqGridServletgson发送请求。

以下是我向 Servlet 发送请求的代码:

JSP

$.post('MyServletName?action=Activate&var11='+var11,
    function(responseJson) 
    {
        $.each(responseJson, function(index, item) 
        {
            alert(item);
        });
    });

小服务程序代码

String str= request.getParameter("var11");

我可以使用上面的代码将请求发送到Servlet 。但如果var11包含 %,则它不会将%符号和所有字符发送%Servlet

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

4

2 回答 2

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);
    });
});
于 2013-05-15T10:13:34.510 回答
0

不要忘记 var11 属性的引号,{"var11":var11}而不是{var11:var11}选择第一种方法。

于 2013-05-15T12:23:58.170 回答