Как получить данные из метода doPost с помощью JSON? - PullRequest
4 голосов
/ 09 мая 2011

Поскольку метод getJSON () используется для получения данных JSON с помощью HTTP-запроса GJ AJAX. Какой метод использовать для получения данных из метода doPost в сервлете. Скажите, что я использовал действие для отправки данных сервлету и хочу получить ответ .. Какой метод JSON использовать ... Пример или хороший учебник помогут

Спасибо:)

Ответы [ 2 ]

0 голосов
/ 09 мая 2011

Итак, вы в основном спрашиваете, как получить данные JSON с помощью запроса POST?

Вместо

$.getJSON('servleturl', function(data) {
    alert(data);
});

используйте

$.post('servleturl', function(data) {
    alert(data);
});

Когда вы позволяетесервлет делает response.setContentType("application/json"), тогда data уже в формате JSON.


Однако, прочитав ваш вопрос и комментарии, я думаю, вы в основном спрашиваете какотправить форму POST, используя jQuery .По сути, это не имеет ничего общего с JSON (хотя сервлет может возвращать ответ JSON, если это необходимо).

Предполагая следующую форму

<form id="formid" action="servleturl" method="post">
    <input type="text" name="foo" />
    <input type="text" name="bar" />
    <input type="submit" />
</form>

, вот как вы можете "отрегулировать" его (сделатьво время подготовки документа!)

$('#formid').submit(function() {
    $form = $(this);
    $.post($form.attr('action'), $form.serialize(), function(data) {
        // Do something with response. Display message? Redirect to other page?
        alert(data);
    });
});

Другой пример также см. этот ответ .

Существуют плагины, которые делают это более красиво, например, jQueryФорма .Тогда это так же просто, как

$('#formid').ajaxForm(function(data) {
    // Do something with response. Display message? Redirect to other page?
    alert(data);
});

, и он также поддерживает <input type="file"> элементы без особых проблем.

0 голосов
/ 09 мая 2011

Вы можете сделать это:

$.post(url, function(), return_type); //where return_type you replace with 'json'

По сути, getJSON() это просто псевдоним для:

$.get(url, function(), 'json'); 

Вот небольшой плагин, который я сделал для postJSON:

(function($){
 $.postJSON = function(url, data, ret_fn) {
    return $.post(url, data, ret_fn, 'json');
 };
})(jQuery);

А вот и скрипка: http://jsfiddle.net/maniator/H8YeE/

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