【问题标题】:send request from jsp to servlet using gson使用 gson 从 jsp 向 servlet 发送请求
【发布时间】:2013-05-09 20:28:01
【问题描述】:

我正在使用 JSPServlets 开发一个 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

所以请告诉我可能是什么问题?

【问题讨论】:

    标签: java javascript jquery servlets gson


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      %(以及 URL 中的其他特殊字符)需要进行编码。如果您使用jQuery.post() 函数的(可选)data 参数,这将为您处理。所以改成:

      $.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);
          });
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-29
        • 2020-03-06
        • 2013-04-28
        • 2014-02-25
        相关资源
        最近更新 更多