Как перенаправить другую страницу со значением объекта - PullRequest
0 голосов
/ 19 февраля 2012

У меня есть приложение Spring 3, где я использую JQuery для публикации запроса AJAX. Теперь я хочу перенаправить свою страницу на другую страницу после того, как приходит ответ ajax. Pojo возвращается контроллером 1-й страницы, который должен быть передан 2-му контроллеру. я знаю, как перенаправить, но не знаю, как передать это PoJo следующему контроллеру формы

$.ajax({
                    type: "POST",
                    url: "/xxx/xxx/xxx/accept",
                    data: "bId=" + bId+
                    "&minDelTime=" +minDelTime,
                    success: function(response){
                        if(response.errorText == null)  {
                                                //this works fine
                            alert(response.orderId);
//this is where i have to redirect with response as parameter                           
window.location.replace("/xxx/xxx/xxx/confirm/"+response.orderId);

                        }   else    {
                            alert(response.errorText);
                        }                       
                      },

Контроллер моей следующей страницы -

@Controller
@RequestMapping("/xxx/xxx/confirm")
public class ConfirmationController {
@RequestMapping(value = "/orderVo", method = RequestMethod.GET)
    public String showOrderConfirmPage(@PathVariable MasterVo orderVo, Model model) {
        LOGGER.info("Entry showOrderConfirmPage()");
        LOGGER.debug("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : " + orderVo.toString());
        LOGGER.info("Exit showOrderConfirmPage()");
        return "/xxx/orderConfirmView";
    }
}

Но я всегда получаю ошибку. Может кто-нибудь сказать, пожалуйста, как передать объект (Pojo) на новый контроллер страницы?

Обновление -

Я попытался сериализовать объект -

success: function(response){
                        if(response.errorText == null)  {
                    $.post("orderVo", response.serialize(), function(data) {
                window.location.replace("/xxx/xxx/xxx/confirm/");
                            });

но я получаю Uncaught TypeError: Object # не имеет метода 'serialize'

Ответы [ 2 ]

1 голос
/ 25 февраля 2012

почему бы просто не перенаправить?

return "redirect:/xxx/orderConfirmView";
0 голосов
/ 19 февраля 2012

Читайте о сериализации.

Вы используете jQuery?Существует простой способ сериализации данных из HTML-формы.

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