Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   JS По нажатию button инициировать запуск сервлета (https://javascript.ru/forum/dom-window/64193-js-po-nazhatiyu-button-iniciirovat-zapusk-servleta.html)

drno-reg 25.07.2016 17:08

JS По нажатию button инициировать запуск сервлета
 
Здравствуйте.

Возникла необходимость по нажатию кнопки на форме инициировать запуск Java сервлета.

Метод типа

<form method="POST" action="NewServlet" name="NewServlet">
  <input type="text" size="4" NAME="TEXT_FREQUENCY_${row.ID}" value="${row.FREQUENCY}">
<button name="Run_NewServlet" class="btn btn-infoy" type="submit"><i class="glyphicon glyphicon-inbox"></i> Запустить</button>
  </form>


безусловно работает.

НО потребовалось еще выполнить дополнительную обработку на javascript и лишь только затем инициировать NewServlet.

Каким образом это возможно сделать?

p.s.

попробовал

document.location.href="${pageContext.request.contextPath}/NewServlet";


Но возникает ошибка 405

HTTP Status 405 - HTTP method GET is not supported by this URL
type Status report
message HTTP method GET is not supported by this URL
description The specified HTTP method is not allowed for the requested resource.


Осознал, что ошибка бьется, т.к. метод GET не описан в сервлете.
НО проблема в том, что нужен POST.

Возможно ли его обернуть в POST и как это сделать?

laimas 25.07.2016 23:24

Цитата:

Сообщение от drno-reg
Возможно ли его обернуть в POST

Нет конечно. Но формой переданной методом POST одновременно можно передать данные и методом GET, указав их в URL action. Но смысла то от этого в данном случае не будет.

А если перед отправкой формы нужно что-то обработать, то зачем запрашивать ${pageContext.request.contextPath}/NewServlet? Обрабатывайте событие onsubmit формы, чего-то обработали в обработчике его, а затем отправили форму.


Часовой пояс GMT +3, время: 11:17.