2

プラス記号 (+) を含む文字列を jsp ページからサーブレットに渡していますが、サーブレットでは、文字列に「+」ではなく空白が含まれています。

JSP コード:

     var data = {Certificate:"KgAwIBAgIQQ+1b5xQKgN0HfjIAPy+vdjANBg",Id:10043};
     $.ajax({
           type: "POST",
           url: "Assinatura",
           data: 'signStart=' + JSON.stringify(data)
       });

サーブレット コード:

request.getParameter("signStart"); //KgAwIBAgIQQ 1b5xQKgN0HfjIAPy vdjANBg

サーバー側のスペースを置き換えることができることは知っていますが、より良い解決策があるかどうか迷っていました。

4

2 に答える 2

1

ajaxリクエストで文字列をサーブレットに渡すときに、文字列をエンコードする必要があります。そのために使用できますencodeURIComponent

$.ajax({
    type: "POST",
    url: "Assinatura",
    data: 'signStart=' + encodeURIComponent(JSON.stringify(data))
});

dataまたは、String の代わりに Object として渡すこともできます。

data: {'signStart': JSON.stringify(data)}
于 2013-09-26T14:19:42.680 に答える