2013-11-10 4 views
0

У меня есть форма в JSP выполняется следующим образом:значения формы JSP передается в сервлет

<form id="provision-field" method="post" action="${pageContext.request.contextPath}/myServlet"> 

    <fieldset> 
     <ol class="fields"> 

      <li> 
       <label for="field1">field1</label> 
       <input type="text" id="field1" " 
         value="<%= field1 %>" 

         /> 
       <span class="description"> 
        <span class="optional">Optional</span> 
       </span> 
      </li> 
     </ol> 
    </fieldset> 
    <div class="actions"> 
     <button type="submit" name="Submit"> 
      Submit form 
     </button> 
     <a href="" class="close-dialog">Cancel</a> 
    </div> 
</form> 

У меня есть JS фрагмент кода по нажатию кнопки подтверждения выполняет следующие

var field = document.getElementById("field1").value; 

$.ajax({ 
       url: '${pageContext.request.contextPath}/myServlet' 
       type: 'POST', 
       data: field, 
       dataType: "html", 
       success: function(html) { 

        alert("Success"); 
       }, 
       error: function(error){ 
       alert("ERROR"); 
       } 
       }); 

Когда Я просто использую элемент формы (т.е. вынимаю код js), я могу добраться до своего сервлета, но ни один из моих параметров формы не передается. когда я пытаюсь использовать код js, запрос ajax не работает. мог бы кто-нибудь указать мне, как это должно быть сделано правильно.

Код сервлет:

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
     logger.info("Inside the post function"); 
     logger.info(request.getParameter("data"); 

    } 
+0

Передайте код сервлета. –

ответ

1
var field = document.getElementById("field1").value; 

    $.ajax({ 
     url: '${pageContext.request.contextPath}/myServlet' 
     type: 'POST', 
     data: { 
      data :field 
     }, 
     dataType: "html", 
     success: function(html) { 

      alert("Success"); 
     }, 
     error: function(error){ 
     alert("ERROR"); 
     } 
    }); 

Внутри servelt следующий код в методе doPost: Предполагая, что у вас есть первичные знания о HttpServlet ...

request.getParameter("data"); 

Я делюсь небольшой Ajax с Servlet учебник, который может помочь вам для дальнейшей проблемы ... Download Link- AJAX Servlet Tutorial

+1

Привет, я пробовал это, но это не работает. – user1801279

+0

Можете ли вы поделиться своим кодом сервлета? .. .. Попробуйте оповещение (поле); ......... перед выполнением ajax и проверьте это значение в поле предупреждения или нет ... Также удалите

..., Если вы делаете AJAX, чем u не должен использовать тег формы ... –

+0

Привет, добавлен код сервлета, когда я предупреждаю о значении, которое он работает, но когда я вызываю запрос request.getParameter, он просто отображает пустой – user1801279

0

data: { field1:field1Value } отправить как этот

, а затем получить доступ к request.getParameter("field1"); в сервлет

0

В методе форма представления является пост method="post", вы должны убедиться, что вы выборки запрашиваемые значения в doPost(request, response) метод

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