2013-05-15 3 views
0

Я разрабатываю веб-приложение с использованием JSP, Сервлеты. Я использую gson для отправки запроса от jqGrid до Servlet.отправить запрос от jsp на сервлет с помощью gson

Ниже мой код, чтобы отправить запрос на сервлет:

JSP

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

Servlet код

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

Я могу отправить запрос на Servlet используя вышеприведенный код. Но если var11 содержит %, то он не отправляет знак % и все символы после % на Сервлет.

Пожалуйста, дайте мне знать, что может быть проблемой?

ответ

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); 
    }); 
}); 
+0

Спасибо, это сработало ... – Bhushan

0

Не забудьте кавычки для атрибута var11 {"var11":var11} вместо {var11:var11} если вы выбираете первый метод.

Смежные вопросы