Как передать var из javascript в сервлет. Да, я знаю, что вы можете использовать getParameter на стороне сервлета, но сначала мне нужно сделать некоторые файлы javascript, а затем оттуда передать эту новую переменную сервлету.Передача переменной javascript в сервлет
Смотрите мой пример Javascript:
function openBrWindowAndSubmit() {
var textBodyValue = encodeURIComponent(document.getElementById("textBody").value);
alert(textBodyValue); //returns empty
document.forms[0].submit();
var textBodyValue = encodeURIComponent(document.getElementById("textBody").value);
alert(textBodyValue); //works
}
Как вы можете видеть в приведенном выше примере первый «тревога» блок возвращает пустой, но второй один возвращает правильное значение кодированного, так как document.forms [0]. submit уже вызывается. Так есть способ, которым я могу получить вторую переменную textBodyValue (которая находится вне document.forms [0] .submit) к сервлету? Я звоню это на стороне сервлета:
String test = req.getParameter("textBody");
Вот JSP внутри тега формы, которая вызывает функцию по щелчку:
<textarea id="textBody" name="textBody"></textarea>
<input type="button" onClick="openBrWindowAndSubmit();" value="Click Here to Preview Email">
Есть ли обходной путь для этой проблемы?
Я пытался изменить яваскрипт функции:
function openBrWindowAndSubmit() { //v2.0
document.forms[0].target = "_blank";
document.getElementById("action").value = "view_template";
var textBodyValue = encodeURIComponent(document.getElementById("textBody").value);
alert(textBodyValue);
document.forms[0].submit();
var textBodyValue = encodeURIComponent(document.getElementById("textBody").value);
alert(textBodyValue);
$.ajax({
url: 'http://localhost:8080/restricted/comm/Email',
data: textBodyValue,
// processData: false,
// contentType: false,
type: 'POST',
success: function(data){
alert(data);
}
});
}
это может работать? Я получаю неопределенную ошибку при достижении тега $ ajax?
Вы можете использовать библиотеку jQuery и переопределить функцию submit, а затем вручную создать AJAX Post. – user
Не могли бы вы предоставить мне пример? – user2319262
Вы должны включить jquery в ваш .js файл: – user