Правильное использование Ajax - PullRequest
0 голосов
/ 27 июля 2011

Вот моя потребность:

Я показываю всплывающее окно, в котором отображаются некоторые текстовые поля и кнопку отправки. Теперь, когда пользователь нажимает «Отправить», мне нужно вставить значения, вставленные в текстовые поля, в БД. Я сделал это, но мне также нужно показать новые добавленные значения на странице самостоятельно, не обновляя его. Я пробовал это с помощью Ajax, но это требует много написания HTML-тегов в сервлете, как

printWriter.print("<table><tr>"+data.getId()+"</tr></table>");

и затем показать весь ответ в теге div. Есть ли какой-нибудь простой способ справиться с этим?

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Лучшим способом сделать это было бы, чтобы сервлет возвратил на страницу какой-нибудь JSON или XML, а затем получил бы некоторый клиентский javascript, который обновляет представление. Если ваши данные просты, вам может даже не потребоваться JSON или XML - возможно, для вашего случая использования достаточно списка значений, разделенных запятыми.

Выполнение этого означает, что вашему сервлету не нужно беспокоиться о написании HTML-тегов в ответе AJAX, а вашей стороне клиента не нужно беспокоиться о вредоносном HTML, возвращающемся с сервера (всегда есть возможность, если участвует пользовательский ввод).

0 голосов
/ 27 июля 2011

С помощью jQuery это довольно просто.Примерно так:

$('#form_id').submit(function() {
    $.ajax({
        type: "POST",
        url: "/YourServlet",
        data: $(this).serialize(),
        success: function(msg){
            $('#result_div_id').html( "Data Saved: " + msg );
        }
    });
    return false;
});

Вот jQuery docs .

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