Отправка значения из javascript в jsp (с помощью jquery) - PullRequest
5 голосов
/ 30 декабря 2008

сейчас у меня есть страница jsp, которая позволяет сортировать некоторые элементы, когда все готово и ссылка нажата, функция javascript преобразует всю информацию в xml (текст в переменную), после этого мне нужно отправить этот xml в снова на странице jsp, я попытался поместить информацию в скрытый ввод и отправить форму, отправив с $ .post и несколькими другими функциями jquery, но ничего не получалось. Есть идеи?

в моей JSP я читаю пост, как это:

<% out.println(request.getParameter("data")); %>

Это не работает:

xml = "<xml></xml>";
$("#form").submit(function(){
   alert("JS: " + $("#data").text());
   $("#data").text(xml);
});

Это либо:

xml = "<xml></xml>";
$("#data").text(xml);
$("#form").submit();

замена .text на .html не работает

Любые идеи приветствуются, спасибо

Ответы [ 3 ]

4 голосов
/ 31 декабря 2008

Вы, вероятно, идете не туда. Вы не предоставили HTML-код, но я предполагаю, что это что-то вроде этого:

<form method="POST" id="form">
    <input type="hidden" id="data" />
</form>

Если это правильно, то вы должны сказать $("#data").val(xml); вместо text() или html(), поскольку они изменяют сопоставляемую вещь с текстом или html, которые вы предоставляете. Это должно работать для вашего текущего решения.

Также я бы предложил взглянуть на jQuery $.post() и другие как альтернативу упаковке всего в xml, если только это не то, что вы хотите на бэкэнде. Может быть проще создать объект javascript со всеми значениями, указанными в некоторых именах, и передать его одному из jQuery $.post(), $.get() и т. Д., Например:

var values = {name: "John", surname: "Doe"};
values.age = 25;
$.post("index.jsp", values); // this will result in a post with 3 variables: name, surname, age

На самом деле, я понял, что теперь вы также можете отправлять свои xml таким образом (если вы не предпочитаете, чтобы вы что-то делали):

$.post("index.jsp", {data: "<xml><whatever-else-needs-to-be-in-here/></xml>"});

Возможно, вы захотите узнать больше здесь: Ajax @ jQuery docs

2 голосов
/ 30 декабря 2008

Попытка использования jQuery Ajax API - вы можете использовать его для отправки произвольных данных через GET или POST, и вам не нужно настраивать скрытую форму или что-либо еще.

1 голос
/ 30 декабря 2008

Вы всегда можете использовать XMLHttpRequest для отправки данных. Это можно сделать с помощью нашего взаимодействия с пользователем без элемента, такого как кнопка отправки формы. jQuery имеет встроенную функциональность для помощи с такими запросами.

http://docs.jquery.com/Ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...