Какая разница между тимелистом и ajax при импорте данных? - PullRequest
0 голосов
/ 10 апреля 2020
          $.ajax({
            url: "",
            method: "",
            data: { },
            success: function(data) {
              ~~~~
            }
          });
// controller
// ...
model.addAttribute("user", userDTO);
// ...

// html(thymeleaf)
${user.name}

В чем разница между двумя вышеупомянутыми случаями при импорте данных?

1 Ответ

0 голосов
/ 10 апреля 2020

Ваш первый пример представляет метод JQuery AJAX, который выполняется на движке JS веб-браузера. Функция «success» будет вызываться асинхронно с полезной нагрузкой ответа, и снова JS отвечает за то, что необходимо сделать с этими данными. У вас может быть несколько таких асинхронных операций без необходимости перезагружать / обновлять всю страницу.

Ваш второй пример представляет собой MVC пересылку на стороне сервера в серверной части. Это синхронная операция в том смысле, что веб-браузер, который запускает блокировку запроса, пока не завершится описанная ниже операция, чтобы он получил обратно проанализированный HTML.

Следует парадигме MVC, реализованной в Spring Framework, где Thymeleaf - это движок шаблонов, представляющий View ('V' в MVC). model.addAttribute("user", userDTO) связывает Model ('M' в MVC), чтобы его можно было заполнить в заполнителях шаблона. Оба собраны в контроллере ('C' в MVC), который получает запрос переднего плана и отвечает за сбор Model s и заполнение шаблона, возвращаемого в качестве ответа parsed final HTML (фактически контроллер весной MVC обычно возвращает имя представления, а среда заботится о вызове зарегистрированного механизма шаблонов). Вся эта деятельность происходит в бэкэнде .

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