Как я могу получить доступ к переменным, отправленным по запросу через jQuery?
-
26-09-2019 - |
Вопрос
Я использую стойки. Мой ActionForm имеет ArrayList, настроенную в нем, как я могу получить доступ к массиву от JSP, что FACEFORM отправляется контроллером в jQuery на кнопке нажатия. Это так, что я могу закрутить элементы этого массива. Я думаю, что это что-то вроде этого, но это удар в темноте (который не работает).
$('myButton').click(function(){
var myArrayToLoopThrough = $('myForm.myArray');
for(){
//looping stuff
}
}
Решение
jQuery работает на HTML, генерируемом вашим JSP.
Поэтому посмотрите на генерируемый HTML в браузере, используя инструмент, похожий на Firebug для Firefox.
Затем вы можете использовать jQuery для выбора и итерации на HTML-элементы. Вот основной синтаксис наиболее полезных вещей:
Выберите ID: $("#id")
Выберите по классу: $(".class")
Выберите тег HTML: $("p")
или $("span")
ИТЕРТЬ НА ВЫБОРЕ
$(...something...).each(function(){
// this is the DOM element
// $(this) is a jQuery object containing the DOM element
});
Официальная документация jQuery на селекторах
РЕДАКТИРОВАТЬ
Исходя из ваших комментариев, вы, кажется, ищем способ взаимодействия с объектами сервера вместо сгенерированного HTML.
JavaScript (jQuery написан в JavaScript) - это язык веб-браузера, который может взаимодействовать только с генерируемым HTML. Ваши объекты Java не отправляются в браузер.
Если вам нужно получить данные с сервера, вам нужен новый HTTP-запрос, чтобы получить эти данные. Это можно сделать в jQuery, используя Методы Ajax..
Другие советы
Вы можете проверить .serializeArray()
. Отказ Вы можете получить все данные из формы в хороший объект, чтобы вы могли сделать то, что вы хотите с данными.
JQuery .Serializearray () Документация
var data = $('#form-id').serializeArray();
Теперь вы можете петь через data
. Отказ Ключи есть name
а также value
.
Это то, что вы ищете?
$('.myButton').click(function(e) {
var data = $(this).closest('form').serializeArray();
for( var i = 0; i < data.length; i++ ) {
var field = data[i];
console.log( field.name + '=>' + field.value );
}
});