Как отправить форму без перезагрузки страницы с помощью Spring Boot Async? - PullRequest
0 голосов
/ 20 сентября 2018

Я могу сделать это с Ajax при отправке формы и прохождении через JQuery.Интересно, есть ли альтернатива с использованием Spring Boot @Async?

Вот мой код, и, как вы можете видеть, запрос на публикацию по-прежнему возвращает новую страницу ModelAndView.

@GetMapping("/register")
public @Valid ModelAndView forPageScreen(@ModelAttribute("user") User user)
{   
    ModelAndView users = new ModelAndView("Practice");
    return users;
}


@Async
@Transactional
@PostMapping("/register")
public @Valid CompletableFuture<ModelAndView> addUser(@Valid @ModelAttribute("user") User user)
{
    ModelAndView mav = new ModelAndView("Practice");

    try {
        Thread.sleep(5000);
        userRep.save(user);

    } catch (InterruptedException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    return CompletableFuture.completedFuture(mav);
}

1 Ответ

0 голосов
/ 20 сентября 2018

@Async - для асинхронной стороны сервера, а не для AJAX.Это совершенно другой вариант использования

Я могу сделать это с Ajax при отправке формы и передаче ее через JQuery

Это путь.Асинхронность должна обрабатываться на стороне клиента (в данном случае JQuery).Что касается сервера, то в этом httpRequest нет ничего асинхронного (в этом сценарии)

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