2013-05-15 36 views
0

我正在開發一個使用的web應用程序JSPServlets。我使用gson發送請求jqGridServlet使用gson將請求從jsp發送到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

所以請讓我知道可能是什麼問題?

回答

0

%(以及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); 
    }); 
}); 
+0

謝謝,它工作... – Bhushan

0

如果你選擇第一種方法,不要忘記var11屬性{"var11":var11},而不是{var11:var11}引號。

相關問題